jboss 不使用Log4j.xml在日志文件中打印

t1qtbnec  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(207)

未使用Log4j.xml在日志文件中打印。我在控制台中获取值,但不在文件中,甚至正在创建文件

文件Log4j.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/
  3. apache/log4j/xml/doc-files/log4j.dtd">
  4. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
  5. <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
  6. <param name="File" value="Logger.log" />
  7. <param name="Append" value="true"/>
  8. <layout class="org.apache.log4j.PatternLayout">
  9. <param name="ConversionPattern" value="%d %-5p %c{1}:%L %m %n" />
  10. </layout>
  11. </appender>
  12. <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
  13. <layout class="org.apache.log4j.PatternLayout">
  14. <param name="ConversionPattern" value="%d %-5p %c{1}:%L %m %n" />
  15. </layout>
  16. </appender>
  17. <!-- sets the priority log level for org.springframework -->
  18. <logger name="org.springframework">
  19. <level value="info" />
  20. </logger>
  21. <!-- sets the default priority log level -->
  22. <root>
  23. <priority value="info"></priority>
  24. <appender-ref ref="fileAppender" />
  25. <appender-ref ref="consoleAppender" />
  26. </root>
  27. </log4j:configuration>

档案类别:

  1. public class logsample {
  2. static final Logger logger = Logger.getLogger("logsample.class");
  3. DOMConfigurator.configure("C:/---- location path of my log4j.xml file----");
  4. logger.info(" @@@@@ FileAppender Message ==> HI");

文件WEB.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" >
  3. <display-name>Member Portal</display-name>
  4. <context-param>
  5. <param-name>contextConfigLocation</param-name>
  6. <param-value>
  7. classpath:applicationContext.xml
  8. classpath:spring-database.xml
  9. classpath:spring-application-flow.xml
  10. classpath:spring-member.xml
  11. </param-value>
  12. </context-param>
  13. <!-- location of log4j config file -->
  14. <context-param>
  15. <param-name>log4jConfigLocation</param-name>
  16. <param-value>/WEB-INF/classes/log4j.xml</param-value>
  17. </context-param>
  18. <filter>
  19. <filter-name>struts2</filter-name>
  20. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  21. </filter>
  22. <filter-mapping>
  23. <filter-name>struts2</filter-name>
  24. <url-pattern>/*</url-pattern>
  25. </filter-mapping>
  26. <listener>
  27. <listener-class>
  28. org.springframework.web.context.ContextLoaderListener
  29. </listener-class>
  30. </listener>
  31. <!-- applies log4j configuration -->
  32. <listener>
  33. <listener-class>org.springframework.web.util.Log4jConfigListener
  34. </listener-class>
  35. </listener>
  36. <servlet>
  37. <servlet-name>InitServlet</servlet-name>
  38. <servlet-class> --- </servlet-class>
  39. <load-on-startup>1</load-on-startup>
  40. </servlet>
  41. </web-app>

我把我的log4j.xml文件放在了两个地方,JBOSS/bin/web-inf/classes/
如果我错了请纠正我?我使用的是JBOSS 7.1和Maven,基于struts2-spring的应用程序。

3htmauhk

3htmauhk1#

记录器配置与记录器的示例实现不匹配。要使用log4j记录器,应导入相应的类Logger。请将其放在导入节中

  1. import org.appache.log4j.Logger;

此外,要示例化记录器,您需要输入Class参数或使用FQCN。

  1. private static final Logger logger = Logger.getLogger(LogSample.class);

遵循Java命名约定并将类名大写。
从Struts 2.2.1开始,FilterDispatcher已被取代。请改用web.xml中的StrutsPrepareAndExecuteFilter

  1. <filter-class>
  2. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  3. </filter-class>
f2uvfpb9

f2uvfpb92#

将xml文件的名称修改为log4j2.xml,因为2是最新版本。不要创建日志文件,因为我们在xml文件中提供了代码,它会自动创建。

goucqfw6

goucqfw63#

将xml文件的名称修改为log4j2.xml,因为2是最新版本。不要创建日志文件,因为我们在xml文件中提供了代码,它会自动创建,并刷新项目

相关问题