日志文件未在Spring MVC应用程序中创建

时间:2017-05-10 10:16:26

标签: java spring spring-mvc logging log4j

我正在尝试在我的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文件但是当我运行时,文件中没有记录任何内容并且它是空的。我的方法或配置有什么问题?

1 个答案:

答案 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>