本文仅仅是理清各种日志框架之间的关系和相互间转换关系,顺带附上springboot默认的Slf4j+Logback配置。具体各框架项目中如何使用,网上太多了,也写得更好。
1. 常用日志组件java开发常用的日志组件有JCL 、 JUL、 SLF4j、Log4j、 Log4j2 、 Logback、 jboss-loggin(不面对大众,不考虑) 等,一般日志是配套出现的,一般是由 一个日志门面(设计有点像JDBC) 和 一个日志实现 配套使用,也有一些可单独使用。那么 组成以下结构:
注1:桥接包 就是 日志门面 配套 日志实现 使用时所需要的中间包,日志实现 并没有实现Slf4j接口,所以需要中间包桥接。
注2:目前流行常用的是Slf4j+Logback, Slf4j+Log4j2, Log4j2。
注3:Slf4j没有具体实现不可单独使用,默认自带Logback配合使用(同一作者)。Jul ,JCL,Log4j,Log4j2可单独使用。JCL还可以配套Log4j使用。
2. 日志框架换新(重定向)在旧项目基础上使用Slf4j日志框架,或者整合第三方项目时需要兼容Slf4j日志框架,不需要修改之前的日志代码,只需加入一个迁移包即可,比如,旧的项目用的是Log4j,现在用Slf4j+Logback。
或者新的日志框架使用Log4j2,也有相应的迁移包。
迁移包如下:
springboot自带的日志框架spring-boot-starter-logging,带入了三种日志框架jul,log4j2,logback,默认使用的是Slf4j+Logback, 需要把log4j2和jul两个框架重定向至Slf4j+Logback,所以同时引入了log4j-to-slf4j和jul-to-slf4j。
4. logback-spring.xml配置springboot默认使用Slf4j+Logback的组合,以下贴出logback-spring.xml的配置,以供参考。
注:logback-spring.xml一般放在/resources或者/resources/config目录下,如果放在其他路径需要在application.yml文件中配置:
logging: config: classpath:/logging/logback-spring.xml
logback-spring.xml配置如下:
5. 日志输出路径说明${LOG_PATTERN} UTF-8 ${LOG_PATTERN} ${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log.zip 365 10GB 100MB ERROR UTF-8 ${LOG_PATTERN} ${LOG_HOME}/error.%d.log 365 1GB
日志输出路径配置了
还有var/logs和../var/logs的写法,具体对比参照logback-spring.xml中三种相对路径生成的日志文件的位置_yancie_的博客-CSDN博客_logback.xml 相对路径
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)