我正在尝试使用 Log4j 记录我的网络应用程序。我已经正确配置了一切。然而 log4j 日志文件没有生成。
将 log4j.properties
文件保留在 web-inf/classes 中,并添加 log4j.jar
到构建路径。
log4j.properties:
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C\:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=error, file, stdout
请您参考如下方法:
你可能创建了一个可能正确的配置,但如果底层环境不使用它并且这个框架作为日志记录机制,它就没用了。 Struts2 也有日志框架使用的优先级或偏好。此优先级可能因版本而异。据我所知,从 2.3.12 版本开始,优先级转向了 slf4j。在 commons-logging 之前,优先级是 #1。
要解决你的问题,你应该检查你是否已经部署了 slf4j 库,然后你应该删除它,commons-logging 仍然是一个有效的选项,但#2。您还可以使用 commons-logging.properties
配置 commons-logging 以使用 log4j。默认情况下,如果找到 log4j 配置,它会使用 log4j。