欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring boot配置log4j输出日志

程序员文章站 2022-04-19 23:05:16
...

1. pom.xml文件中配置parent,版本选定[1.2.5.RELEASE]

  关于为什么要选这个版本:我尝试使用[1.4.1.RELEASE],但该版本库里没有[spring-boot-starter-log4j.jar],后面要使用这个jar,使用[1.2.5.RELEASE]版本的[spring-boot-starter-log4j.jar]来顶替,一直没有成功。也许是我哪里配置不对,无法可想,只好把parent版本降至[1.2.5.RELEASE]

  并不是说一定要用这个版本,有兴趣的可以尝试一下其他版本。

  <parent> 
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.2.5.RELEASE</version>
  </parent>

 

2. 删除pom.xml文件中所有对日志jar包的引用

  例如下面两个,如果不删除,和后面将要加入的依赖jar包会有冲突,导致日志不能正常输出到文件

Spring boot配置log4j输出日志
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
    </dependency>
Spring boot配置log4j输出日志

 

3. 排除spring boot对[spring-boot-starter-logging]的依赖,并增加依赖包[spring-boot-starter-log4j.jar]

  话说步骤2中不是删除了对[spring-boot-starter-logging]的依赖吗,为什么还要再次排除呢?原因:可以点开[Effective POM]查看,parent中依然有两处对[spring-boot-starter-logging]的依赖。

Spring boot配置log4j输出日志
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
     </dependency>
       
     <dependency> 
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j</artifactId>
     </dependency>
Spring boot配置log4j输出日志

 

4. 增加log4j.properties配置

  配置每天输出一个日志文件.

Spring boot配置log4j输出日志
log4j.rootLogger=info,ServerDailyRollingFile,stdout

log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=D://test/test.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p [%c] - %m%n
log4j.appender.ServerDailyRollingFile.Append=true

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d yyyy-MM-dd HH:mm:ss %p [%c] %m%n
Spring boot配置log4j输出日志

 

至此配置完毕,赶快重启服务看看效果吧。


http://www.cnblogs.com/zj0208/p/6149852.html


# LOG4J配置
log4j.rootCategory=ERROR,file,stdout


# 日志输出到文件
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=/data/applogs/log4j/test/xxx.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p] {%t} %C.%M(%L) | %m%n