You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Eli Tucker <et...@itxc.com> on 2001/04/24 20:41:41 UTC
Multiple Servlets and NTEventLogAppender
I'm having a problem using the NTEventLogAppender in log4j 1.0.4 with Tomcat
3.2 and two different web applications. I have both web applications
loading the same XML configuration file found in
%TOMCAT_HOME%\conf\log4j-config.xml. When the second web app loads, I see
the following exception:
java.lang.UnsatisfiedLinkError: Native Library
C:\WINNT\NTEventLogAppender.dll already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at
org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:120)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at
org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:144)
at
org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator
.java:129)
at
org.apache.log4j.xml.DOMConfigurator.parseChildrenOfCategoryElement(DOMConfi
gurator.java:352)
at
org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:310)
at
org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:636)
at
org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:567)
at
org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:513)
at
org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:582)
at com.itxc.sdialer.ServerDialer.<init>(ServerDialer.java:155)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at
org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:268)
at
org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(LoadOnStartup
Interceptor.java:130)
at
org.apache.tomcat.core.ContextManager.initContext(ContextManager.java:491)
at
org.apache.tomcat.core.ContextManager.init(ContextManager.java:453)
at org.apache.tomcat.startup.Tomcat.execute(Tomcat.java:195)
at org.apache.tomcat.startup.Tomcat.main(Tomcat.java:235)
Here are the pertinent lines from my log4j-config.xml file:
...
<appender name="EventLog" class="org.apache.log4j.nt.NTEventLogAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] %c (%F:%L) - %m"/>
/>
</layout>
</appender>
<!-- The two servlets belong to the com.itxc.sdialer and com.itxc.eclipse
packages. -->
<category name="com.itxc">
<priority value="warn" />
<appender-ref ref="EventLog" />
</category>
<root>
<priority value ="debug" />
<appender-ref ref="RollingFile" />
</root>
What do I have to do in order to get two (or more) webapps to both log to
the NT Event Log?
Thanks in advance for your help.
Eli Tucker
ITXC Corp.
Re: Multiple Servlets and NTEventLogAppender
Posted by Christopher Taylor <cs...@pacbell.net>.
Multiple Servlets and NTEventLogAppenderHaven't tried it, but my guess would be to put the Log4J JAR file in the TOMCAT_HOME\lib folder.
-Chris
----- Original Message -----
From: Eli Tucker
To: 'log4j-user@jakarta.apache.org'
Sent: Tuesday, April 24, 2001 11:41 AM
Subject: Multiple Servlets and NTEventLogAppender
I'm having a problem using the NTEventLogAppender in log4j 1.0.4 with Tomcat 3.2 and two different web applications. I have both web applications loading the same XML configuration file found in %TOMCAT_HOME%\conf\log4j-config.xml. When the second web app loads, I see the following exception:
java.lang.UnsatisfiedLinkError: Native Library C:\WINNT\NTEventLogAppender.dll already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:120)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:144)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:129)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfCategoryElement(DOMConfigurator.java:352)
at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:310)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:636)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:567)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:513)
at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:582)
at com.itxc.sdialer.ServerDialer.<init>(ServerDialer.java:155)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:268)
at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(LoadOnStartupInterceptor.java:130)
at org.apache.tomcat.core.ContextManager.initContext(ContextManager.java:491)
at org.apache.tomcat.core.ContextManager.init(ContextManager.java:453)
at org.apache.tomcat.startup.Tomcat.execute(Tomcat.java:195)
at org.apache.tomcat.startup.Tomcat.main(Tomcat.java:235)
Here are the pertinent lines from my log4j-config.xml file:
...
<appender name="EventLog" class="org.apache.log4j.nt.NTEventLogAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] %c (%F:%L) - %m"/>
/>
</layout>
</appender>
<!-- The two servlets belong to the com.itxc.sdialer and com.itxc.eclipse packages. -->
<category name="com.itxc">
<priority value="warn" />
<appender-ref ref="EventLog" />
</category>
<root>
<priority value ="debug" />
<appender-ref ref="RollingFile" />
</root>
What do I have to do in order to get two (or more) webapps to both log to the NT Event Log?
Thanks in advance for your help.
Eli Tucker
ITXC Corp.