Re: NullPointerException in ERXLogger.getERXLogger
Re: NullPointerException in ERXLogger.getERXLogger
- Subject: Re: NullPointerException in ERXLogger.getERXLogger
- From: "Daniele Corti" <email@hidden>
- Date: Wed, 27 Feb 2008 13:35:52 +0100
2008/2/27, Yung-Luen Lan <email@hidden>:
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:
Do you also replace ERJar.framework?
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?
Not a stupid question: look at the bottom panels, and select the Console one (if you are running WO app in development, WOLips changes it to show logs) at the top of the panel, you can see a little red square. You can stop the current app by clicking on it. It's not very visible, I've passed months before notice it, when I've started working on Eclipse.
Regards,
yllan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
Daniele Corti
AIM: S0CR4TE5
Messenger:
email@hidden
--
Computers are like air conditioners -- they stop working properly if you open
WINDOWS
--
What about the four lusers of the apocalypse? I nominate:
"advertising", "can't log in", "power switch" and "what backup?"
--Alistair Young
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden