Java 是否在struts web应用程序中未生成Log4j文件?

Java 是否在struts web应用程序中未生成Log4j文件?,java,logging,struts2,log4j,error-logging,Java,Logging,Struts2,Log4j,Error Logging,我正在尝试使用Log4j记录我的web应用程序。我已经正确地配置了一切。然而,log4j日志文件并没有生成 将log4j.properties文件保存在web inf/classes中,并将log4j.jar添加到构建路径中 log4j.属性: # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C\:\\logi

我正在尝试使用Log4j记录我的web应用程序。我已经正确地配置了一切。然而,log4j日志文件并没有生成

将log4j.properties文件保存在web inf/classes中,并将
log4j.jar
添加到构建路径中

log4j.属性:

# 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之前,日志记录是首要任务

要解决您的问题,您应该检查是否部署了slf4j库,然后应该将其删除。因此,commons日志记录仍然是一个有效的选项,但#2。您还可以使用
commons logging.properties
将commons logging配置为使用log4j。默认情况下,如果找到log4j配置,它将使用log4j