我正在尝试在我的Spring MVC应用程序中配置logger,但不知怎的,它似乎没有用。我正在使用Log4j 1.2.17并为资源文件夹中的配置创建了一个属性文件。文件内容如下:
Root logger option
log4j.rootLogger=DEBUG, ERROR, stdout, file
# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=/Users/vshukla/Documents/softwares/apache-tomcat-8.0.26/logs/prismweb.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
这是我在每个班级中启动记录器的方式:
private static final Logger logger = Logger.getLogger(MyController.class);
只是为了测试,我在控制器方法中添加了一些简单的错误情况,但是尽管提供了完整的路径,但是没有创建日志文件。
控制器代码:
try{
int i=1/0;
System.out.println(i);
} catch (Exception e) {
logger.error("error:", new Exception("Init method"));
}
我还尝试在tomcat logs文件夹中创建一个prismweb.log
文件但是当我运行时,文件中没有记录任何内容并且它是空的。我的方法或配置有什么问题?
答案 0 :(得分:0)
在你的pom.xml中尝试排除spring core或spring mvc依赖项中的commons-logging:
<!-- 1. exclude commons-logging -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>