日志

日志实现  log4j、logback、log4j2。

  log4j2的效率是比logback要高的,但是不涉及到深度的使用效率我们不回去考虑。log4j、logback这两个是同一个作者,并且作者是认为 log4j 不行才重新写的 logback。并且logback的官网还给出 log4j.properties 转 logback.xml 文件的工具就是建议使用者更换成 logback。最重要的是 springboot 默认的日志实现就是 logback,那我们在能满足生产的情况下就不要气搞事情了。如果遇到日志并发量搞到需要去处理的时候再去理解 log4j2 的原理吧。

日志上层接口 slf4j、common-logging。

Logger logger =  LoggerFactory.getLogger(LogTestApplication.class);
logger.error("logger={}","error");// slf4j 日志的输出写法,就从这一点,slf4j 就胜过了 common-logging。

所以综上所述,我选择日志框架的时候回使用 springboot 默认的。另外 @Slf4j 是 lombok 提供的。

一、logback配置

以下是 logback 的初始化步骤:

  1. logback 会在类路径下寻找名为 logback-test.xml 的文件。
  2. 如果没有找到,logback 会继续寻找名为 logback.groovy 的文件。
  3. 如果没有找到,logback 会继续寻找名为 logback.xml 的文件。
  4. springboot通过 logging.config 也可以 #logging.config=classpath:logback-spring.xml。

参数详解

 https://blog.csdn.net/zxssoft/article/details/83211461

https://blog.csdn.net/sinat_25076521/article/details/80513543

二、log4j配置

自动加载配置文件:
(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

log4j日志配置文件的命名一般采用log4j.properties,位置放在resources/log4j.properties 下面,而不能直接把配置写在applicaion.properties里面,切记!!

自动读取 log4j.properties 

     <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>
        <!-- log4j. -->

<dependency>
    <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>

 

# LOG4J配置
log4j.rootCategory=info,stdout,File

# 控制台输出
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} %5p %c{1}:%L - %m%n

# 日志输出到文件
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = log4j2.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

 

https://blog.csdn.net/satomiyo/article/details/100040235 

三、log4j2配置

 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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-log4j2</artifactId>
</dependency>

https://blog.csdn.net/weixin_44569012/article/details/90340787

四、spring配置

 https://www.jianshu.com/p/1fa12b92d5c4

 

posted @ 2019-11-17 21:10  cuiqq  阅读(140)  评论(0编辑  收藏  举报