美文网首页
springboot项目集成logf4j详细流程记录

springboot项目集成logf4j详细流程记录

作者: 一块自由的砖 | 来源:发表于2021-01-14 16:43 被阅读0次

背景

日志是项目中不能缺少的模块,目前项目中比较常用的是Log4j,这个日志是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输出到控制台、文件甚至是套接口服务器等等。通过配置文件可以控制每一条日志的输出格式,定义每一条日志信息的级别,更加细致地控制日志的生成过程。下面通过访问的方式来集成log4j。从maven依赖包,配置文件和项目中实际使用样例三个方面来记录。

maven

第一步:我这里使用的是springboot,因为springboot自带log,咱们要使用log4j,先屏蔽了原来的log

<exclusions>
                <!--不使用start自带的log-->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
</exclusions>

第二步:加入log4j的依赖,一个接口,一个实现两个包

<!-- log 接口层 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <!-- log 实现 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
            <!-- <scope>test</scope> -->
        </dependency>

配置文件

配置文件放置位置,项目Application所在module中的resources目录下。配置文件名称为:log4j.properties
配置内容:

# 日志配置文件
log4j.rootLogger=CONSOLE,FILE
log4j.addivity.org.apache=true

# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
# 控制台展示数据格式
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 应用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
# 日志保存位置
log4j.appender.FILE.File=/你的日志目录/app.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.Encoding=UTF-8
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
# 控制台展示数据格式
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 每天新建日志
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=/你的日志目录/app.day.log
log4j.appender.A1.Encoding=UTF-8
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# 控制台展示数据格式
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n

其中,需要根据自己的情况配置的:
1.日志保存位置和日志文件名称
2.日志的记录内容格式
3.日志输出等级:debug还是info

源码中使用

我这里是springboot的rest api项目中的controller中使用的实例

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

@ApiIgnore
@RestController
public class HelloController {

    // 日志对象
    final static Logger logger = LoggerFactory.getLogger(HelloController.class);

    @GetMapping("/hello")
    public Object hello() {
        //使用日志
        logger.debug("debug:hello~");
        logger.error("error:hello~");
        logger.warn("warn:hello~");
        logger.info("info:hello~");

        return "hello world~";
    }
}

相关文章

网友评论

      本文标题:springboot项目集成logf4j详细流程记录

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