java - Struts Web 应用程序中未生成 Log4j 文件?

标签 java logging struts2 log4j error-logging

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

关于java - Struts Web 应用程序中未生成 Log4j 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994904/

相关文章:

struts2 - execAndWait 拦截器在等待后不重定向到成功页面

java - 如何使用 Selenium WD 针对不同的浏览器类型打开隐身/私有(private)窗口?

java - setImageResource() 问题 - 如何实现文件路径?

java.net.SocketException : socket failed: EACCES (Permission denied) MongoDB connection 异常

Django:记录模板错误

error-handling - Struts 2 setter未知字段参数

适用于 Windows 7 的 Java native 库、printf

python - python 中每个日志级别的适当使用的文档

java - 从 Tomcat 获取日志

jquery - 文件丢失在文件系统中,捕获表单提交