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

2019-04-11  本文已影响0人  CallMe兵哥

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

上一篇下一篇

猜你喜欢

热点阅读