我正在尝试使用 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。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!