log4j2与WAS8.5中的servlet 3.0容器无法正常工作

时间:2014-10-02 15:48:47

标签: log4j2

我在web 3.0容器WAS8.5服务器中使用log4j2.xml。我在类路径中有两个jar文件。 xml文件也位于WEB-INF / classes / resources / log4j2.xml中。我还在web.xml文件中创建了一个条目(不确定我们是否需要这个)。低于错误。

    <context-param>
    <param-name>log4jConfiguration </param-name>
    <param-value>/WEB-INF/classes/resources/log4j2.xml</param-value>
   </context-param>

SystemErr R ERROR StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。

添加了log4J-web-2.0 jar文件。我在log4J.xml中打开了跟踪。我从web.xml中删除了context-param条目,因为没有必要。这一次,我没有发现错误,但没有记录器。我猜服务器已经有PARENT_FIRST类loding可能会覆盖IBM Log4J哪个是旧版本?

10/3/14 8:15:43:606 CDT] 0000009e SystemOut O 2014-10-03 08:15:43,806 DEBUG LoggerContext [name = com.ibm.ws.classloader.CompoundClassLoader@de67afb1 [战争:eAdminEAR / eAdmin.war]    本地ClassPath:C:\ workspace \ 9.0 \ eAdmin \ eAdmin \ WebContent \ WEB-INF \ classes; C:\ workspace \ 9.0 \ eAdmin \ eAdmin \ WebContent \ WEB-INF \ lib \ log4j-api-2.0.2.jar ; C:\工作空间\ 9.0 \ eAdmin \ eAdmin \的WebContent \ WEB-INF \ lib中\ log4j的核 - 2.0.2.jar; C:\工作空间\ 9.0 \ eAdmin \ eAdmin \的WebContent \ WEB-INF \ lib中\ log4j的-web-2.0.2.jar; C:\工作空间\ 9.0 \ eAdmin \ eAdmin \的WebContent    家长:com.ibm.ws.classloader.CompoundClassLoader@fc165de9 [PL] [app]    委派模式:PARENT_FIRST,org.apache.logging.log4j.core.LoggerContext@e1a7ee0]启动,配置XmlConfiguration [location = C:\ workspace \ 9.0 \ eAdmin \ eAdmin \ WebContent \ WEB-INF \ classes \ log4j2.xml] 。 [10/3/14 8:15:43:606 CDT] 0000009e webapp我com.ibm.ws.webcontainer.webapp.WebApp日志SRVE0292I:Servlet消息 - [eAdminEAR#eAdmin.war] :. Log4jServletContextListener确保Log4j启动正常。 [10/3/14 8:15:43:606 CDT] 0000009e webcontainer我com.ibm.ws.webcontainer.VirtualHostImpl addWebApplication SRVE0250I:Web模块eAdmin已绑定到default_host [:9082,: 80,:9445,:5065,:5064,:443]。 [10/3/14 8:15:43:621 CDT] 0000009e ApplicationMg A WSVR0221I:应用程序已启动:eAdminEAR [10/3/14 8:15:43:621 CDT] 0000009e CompositionUn A WSVR0191I:组合单元WebSphere:cuname = eAdminEAR in BLA WebSphere:blaname = eAdminEAR started。 [10/3/14 8:16:18:347 CDT] 0000009f ServletWrappe我com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I:[eAdminEAR] [/ eAdmin] [com.nglic.eadmin.servlets.TestServlet] :初始化成功。 [10/3/14 8:16:18:378 CDT] 0000009f webapp我com.ibm.ws.webcontainer.webapp.WebApp日志SRVE0292I:Servlet消息 - [eAdminEAR#eAdmin.war] :. Log4jServletFilter已初始化。 [10/3/14 8:16:18:378 CDT] 0000009f SystemOut O我在这里......

2 个答案:

答案 0 :(得分:0)

除api和核心模块外,还请包含log4j-web模块。

答案 1 :(得分:0)

问题已解决。问题在于log4j2.xml文件。根级别是跟踪,一旦我将其更改为调试,我可以在控制台和日志文件中看到日志。 Jeez ....需要6天时间来计算。

 <Root level="debug" additivity="false">            
    <appender-ref ref="trace-log" level="debug"/>
    <appender-ref ref="error-log" level="error"/>
    <appender-ref ref="console-log" level="debug"/>

</Root>