zoukankan      html  css  js  c++  java
  • SpringBoot集成log4j,解决log4j.properties不生效问题

    Spring Boot集成log4j其实比较简单,maven的话,在xml中增加log4j依赖就行

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
    <version>1.3.8.RELEASE</version>
    </dependency>

    然后配置log4j.properties(每一行是啥意思,自行百度)

    log4j.rootLogger=info,stdout, infofile
    ######################################################################
    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 %p [%c] - %m%n
    ######################################################################
    log4j.appender.infofile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.infofile.File=/log/infofile-log.log
    log4j.appender.infofile.Append=true
    log4j.appender.infofile.Threshold=info
    log4j.appender.infofile.layout=org.apache.log4j.PatternLayout
    log4j.appender.infofile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
    log4j.appender.infofile.encoding=GBK

    但是、启动项目后,我发现并没有生成 /log/infofile-log.log 文件

    网上查了一下,大概原因是jar包冲突,因为 spring-boot-starter-web、spring-boot-starter-data-jpa、spring-boot-starter-jdbc等下面有一些logback、log4j、slf4j等相关的包,我用 dependency:tree命令查到具体是那些jar,然后一一排除,这样再启动时,就会发现 infofile-log.log文件创建成功了

    这种方法比较繁琐,但是可以更理解jar包依赖关系

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <exclusions>
    <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>*</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
    <exclusion>
    <groupId>ch.qos.logback</groupId>
    <artifactId>*</artifactId>
    </exclusion>
    <exclusion>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>*</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <exclusions>
    <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>*</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
    <version>1.3.8.RELEASE</version>
    </dependency>

     --------------------------------------------------------------------------------------------------------------------------------------------------------------

    看这里,更优雅一些: https://www.cnblogs.com/myfrank/p/14286815.html

  • 相关阅读:
    Go语言TCP/UDP Socket编程
    Go目录
    Go语言获取项目当前路径
    Mysql写入记录出现 Incorrect string value: 'xB4xE7xB1xCAxBCxC7‘错误?(写入中文)
    Erlang的Web库和框架
    erlang 资源
    Erlang基础2
    Erlang语言基础总结
    angular修改端口号port
    npm ERR! Cannot read property 'resolve' of undefined
  • 原文地址:https://www.cnblogs.com/myfrank/p/13730415.html
Copyright © 2011-2022 走看看