日志实现 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 的初始化步骤:
- logback 会在类路径下寻找名为 logback-test.xml 的文件。
- 如果没有找到,logback 会继续寻找名为 logback.groovy 的文件。
- 如果没有找到,logback 会继续寻找名为 logback.xml 的文件。
- 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