Howdy, You may need to post some of the source code for your appender. For starters, does it have a public no arguments constructor? Are all the getters and setters public and compliant with JavaBean conventions?
Yoav Shapira Millennium ChemInformatics >-----Original Message----- >From: FLYNN, Peter -Syntegra UK [mailto:[EMAIL PROTECTED]] >Sent: Thursday, February 06, 2003 9:49 AM >To: '[EMAIL PROTECTED]' >Subject: Writing a custom appender > >Hi, > >I'm trying to write my own appender. The initial idea is to link into >various other systems and tie up all of the systemlogging into a single >system (Log4J). > >I wrote a class that extended AppenderSkeleton, but I'm getting some >strange >errors from DomConfigurator when trying it out. > >What I get is: > >C:\Projects\bin>test >log4j: Threshold ="null". >log4j: Level value for root is [DEBUG]. >log4j: root level set to DEBUG >log4j: Class name: [org.apache.log4j.ConsoleAppender] >log4j: Parsing layout of class: "org.apache.log4j.PatternLayout" >log4j: Setting property [conversionPattern] to [[%-5p] [%d{DATE}] >[%C.%M:%L] >- %m%n]. >log4j: Adding appender named [CONSOLE] to category [root]. >log4j: Class name: [com.syntegra.logging.TestAppender] >log4j:ERROR Could not create an Appender. Reported error follows. >java.lang.IllegalAccessException: Class >org.apache.log4j.xml.DOMConfigurator >can not access a member of class com.syntegra.logging.TestAppender with >modifiers "" >at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) >at java.lang.Class.newInstance0(Class.java:300) >at java.lang.Class.newInstance(Class.java:259) >at >org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java :164 >) >at >org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator .jav >a >:140) >at >org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigu rato >r >.java:153) >at >org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMCo nfig >u >rator.java:415) >at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384) >at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:790) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 73) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 16) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 02) >at >org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConve rter >. >java:460) >at org.apache.log4j.LogManager.<clinit>(LogManager.java:113) >at org.apache.log4j.Logger.getLogger(Logger.java:94) >at com.syntegra.logging.TestAppender.main(TestAppender.java:40) >log4j:ERROR Could not parse input source [org.xml.sax.InputSource@ef5502]. >java.lang.NullPointerException >at java.util.Hashtable.put(Hashtable.java:389) >at >org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator .jav >a >:141) >at >org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigu rato >r >.java:153) >at >org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMCo nfig >u >rator.java:415) >at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384) >at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:790) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 73) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 16) >at >org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:6 02) >at >org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConve rter >. >java:460) >at org.apache.log4j.LogManager.<clinit>(LogManager.java:113) >at org.apache.log4j.Logger.getLogger(Logger.java:94) >at com.syntegra.logging.TestAppender.main(TestAppender.java:40) >[DEBUG] [06 Feb 2003 14:35:51,868] >[com.syntegra.logging.TestAppender.main:41] - Debug Test Message >[DEBUG] [06 Feb 2003 14:35:51,888] >[com.syntegra.logging.TestAppender.main:42] - Debug Test Message >[DEBUG] [06 Feb 2003 14:35:51,919] >[com.syntegra.logging.TestAppender.main:43] - Debug Test Message >Press any key to continue . . . > >Someone must have seen this in the process of writing their own appender >(or >extending an appender). Do you know what causes it? > >The only thing I can think of is that my custom appender is seperate from >the log4j jar, and there might be a security issue (with ClassLoaders >loading across jars). > >I will continue to investigate, but in the mean time, if anyone knows >anything then it would be really appreciated. > >Regards >Peter > > >******************************************************************** > >This email may contain information which is privileged or confidential. If >you are not the intended recipient of this email, please notify the sender >immediately and delete it without reading, copying, storing, forwarding or >disclosing its contents to any other person >Thank you > >Check us out at http://www.syntegra.com > >******************************************************************** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]