美文网首页
Spring Boot 集成使用log4j(基础使用)

Spring Boot 集成使用log4j(基础使用)

作者: CallMe兵哥 | 来源:发表于2019-04-11 11:26 被阅读0次

    Spring Boot 默认是使用logback作为日志框架,如果想使用log4j框架的话,需要做一些配置和修改。关于logback与log4j以及log4j2的接收请移步 日志 log4j logback log4j2 slf4j jdk-logging commons-logging 介绍。如果你看过上面这篇文档,这个集成就非常简单了。

    1. 屏蔽spring boot的默认日志框架与实现
      在org.springframework.boot下增加例外,具体pom.xm配置如下
          <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>
    

    如上图所示,主要是增加了这一段

                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                    </exclusion>
                </exclusions>
    

    2、 增加使用log4j1的三个jar包
    在pom.xml中增加引用

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.25</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.25</version>
            </dependency>
    

    3、 增加log4j的日志配置文件
    log4j.properties放置于resources下(只要放置在编译路径的根目录下就是,检查编译以后的class路径根目录是否有日志配置文件),我这里的配置比较多。

    log4j.rootLogger=DEBUG,Console,InfoFile,ErrorFile,WarnFile
    # Console
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.Target=System.out
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout
    log4j.appender.Console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}] %m%n
    
    # InfoFile
    log4j.appender.InfoFile=org.apache.log4j.RollingFileAppender 
    log4j.appender.InfoFile.File=logs/info.log
    log4j.appender.InfoFile.MaxFileSize=10MB
    log4j.appender.InfoFile.MaxBackupIndex=50
    log4j.appender.InfoFile.Threshold=INFO
    log4j.appender.InfoFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.InfoFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}] %c.%t(%F:%L)%m%n
    
    # ErrorFile
    log4j.appender.ErrorFile=org.apache.log4j.RollingFileAppender 
    log4j.appender.ErrorFile.File=logs/error.log
    log4j.appender.ErrorFile.MaxFileSize=10MB
    log4j.appender.ErrorFile.MaxBackupIndex=50
    log4j.appender.ErrorFile.Threshold=ERROR
    log4j.appender.ErrorFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.ErrorFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}] %c.%t(%F:%L)%m%n
    
    # WarnFile
    log4j.appender.WarnFile=org.apache.log4j.RollingFileAppender 
    log4j.appender.WarnFile.File=logs/warn.log
    log4j.appender.WarnFile.MaxFileSize=10MB
    log4j.appender.WarnFile.MaxBackupIndex=50
    log4j.appender.WarnFile.Threshold=WARN
    log4j.appender.WarnFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.WarnFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}] %c.%t(%F:%L)%m%n
    

    4、建立Contoller层方法
    其实这里,不是必要的,大家可以在spring boot的启动类写个日志就够了。

    @RestController
    public class PiceaServletContoller {
    
        private Logger logger = LoggerFactory.getLogger(PiceaServletContoller.class);
    
        @RequestMapping("/task")
        public String task(String name) throws Exception {
            logger.info("info级别日志:" + name);
            logger.debug("debug级别日志:" + name );
            logger.error("error级别日志:" + name);
            return "日志测试" + name;
        }
    }
    

    5、程序运行结果
    通过浏览器请求:http://127.0.0.1:2001/task?name=1
    后台打印如下图所示:

    Spring-boot-log4j.png

    骚年,努力吧,我看好你哟!

    其它注意

    本文章样例:
    工程名:spring-boot-log4j
    GitHub:https://github.com/zzyjb/SpringBootLearning

    相关文章

      网友评论

          本文标题:Spring Boot 集成使用log4j(基础使用)

          本文链接:https://www.haomeiwen.com/subject/mzoziqtx.html