在struts Web应用程序中,Log4j文件无法生成?[英] Log4j File is not generating in struts web application?

本文是小编为大家收集整理的关于在struts Web应用程序中,Log4j文件无法生成?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在尝试使用log4j记录我的Web应用程序.我已经正确配置了所有内容.但是Log4j记录文件未生成.

保留log4j.properties在Web-Inf/class中的文件,还添加了log4j.jar 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移动.在公地登场之前是优先级的1.

要解决问题,您应该检查是否已部署了SLF4J库,则应将其删除,因此,Commons-Logging仍然是有效的选项,但#2.您还可以使用commons-logging.properties配置Commons-Logging使用Log4J.默认情况下,如果找到log4j配置,它使用log4j.

本文地址:https://www.itbaoku.cn/post/1574843.html

问题描述

I'm trying to log my web app using Log4j. I've configured everything correctly. Yet log4j logging file is not generating.

Kept log4j.properties file in web-inf/classes and also added log4j.jar to build path.

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

推荐答案

You might created a possibly right configuration but it useless if the underlying environment isn't use it and this framework as the logging mechanism. Struts2 has also priorities or preferences for the logging frameworks to use. This priorities might change from version to version. As far as I remember from the version 2.3.12 the priority moved toward slf4j. Before the commons-logging was the priority #1.

To fix your issue you should check if you have deployed slf4j libraries then you should remove it so, the commons-logging is still a valid option but #2. You may also configure commons-logging to use log4j using commons-logging.properties. By default it uses log4j if it find the log4j configuration.