Hi all,

I'm a newbie of both WebObjects and server programming who is responsible to
maintain a WO project left by other guy several years ago. I've added some
features and tested in Eclipse. However, during these year, I always
encountered a problem when I want to update the ERExtensions.framework in
/Library/Frameworks.

When I replace the original ERExtensions.framework (whose version is
believed ≤ Project WONDER 3) with new one, I got the exception:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
    at org.apache.log4j.Hierarchy.getLogger(Hierarchy.java:271)
    at org.apache.log4j.LogManager.getLogger(LogManager.java:220)
    at org.apache.log4j.Logger.getLogger(Logger.java:156)
    at er.extensions.ERXLogger.getLogger(ERXLogger.java:111)
    at er.extensions.ERXLogger.getERXLogger(ERXLogger.java:91)
    at er.extensions.ERXLogger.getERXLogger(ERXLogger.java:121)
    at woserver.Application.<clinit>(Application.java:25)

And that's the very first line of my project.

public class Application extends ERXApplication {
    public static final ERXLogger log = ERXLogger.getERXLogger(
Application.class);

I've my Properties file configured like this:

==== BEGIN OF PART OF MY PROPERTIES FILE ====
er.extensions.ERXLocalizer.frameworkSearchPath = (app,ERExtensions)
er.extensions.ERXLocalizer.defaultLanguage = English
er.extensions.ERXLocalizer.availableLanguages = (English, Chinese)

### Enterprise Objects ###
er.extensions.ERXRaiseOnMissingEditingContextDelegate = false

### Application Name ###
er.extensions.ERXApplicationHostURL = localhost

#########################################################################
# Log4j Configuration
#########################################################################
log4j.rootLogger = INFO, A1, A2
log4j.loggerFactory=er.extensions.ERXLogger$Factory

# Appenders
log4j.appender.A1 = org.apache.log4j.ConsoleAppender

log4j.appender.A2 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.datePattern='.'yyyy-MM-dd
log4j.appender.A2.append = true
log4j.appender.A2.File = /var/log/woproject/woproject.log

# A1, A2 uses PatternLayout.
log4j.appender.A1.layout = er.extensions.ERXPatternLayout
log4j.appender.A2.layout = er.extensions.ERXPatternLayout

# This pattern will produce logs that look like:
# 2002-06-18 17:46:18,292 MyAppName[4002:9133 0] MyCategory (MyClass.java:40)
- Some log
log4j.appender.A1.layout.ConversionPattern = %d{ISO8601} %-5p %W{n[i:p s]}
%c{1} (%F:%L) %x - %m%n
log4j.appender.A2.layout.ConversionPattern = %d{ISO8601} %-5p %W{n[i:p s]}
%c{1} (%F:%L) %x - %m%n

# Note that %F and %L is fairly slow and shouldn't be used in performance
intensive logging

########################################################################
# Custom Categories - These are the main categories and sub categories
#    that are used in frameworks.
########################################################################

# Base Category
log4j.logger.er = INFO
log4j.logger.er.extensions.ERXNSLogLog4jBridge = INFO
log4j.additivity.er.extensions.ERXNSLogLog4jBridge = false

log4j.logger.er.changenotification = INFO
==== END OF PART OF MY PROPERTIES FILE ====

Hence, I must copy the old ERExtensions to a new environment every time. Did
I miss something?

An extra question: when you add some features to your wo project, how do you
stop the current running wo server and start the new one? I don't know how
to do this so I run my server inside eclipse. I know it's stupid, but I
couldn't find the answer. Maybe it's too basic to document?

Regards,
yllan
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to