SampanJavaDemo:springboot 集成 log4j2,代替logback
一、效果展示
1)eclipse
- 按照日志级别,用不同的颜色显示,TRACE 和 DEBUG信息,不重要,所以颜色设置为浅灰色,INFO用绿色显示,错误信息用红色显示
- 列信息也用不同颜色显示,控制台主要是显示当前调试信息,日期信息显得多余,格式设置为HH:mm:ss.SSS
- 进程和线程列,颜色高亮显示,文件和行号,选择蓝色,突出显示
- Pattern设置,highlight,style等
‘%style{%d{mm:ss.SSS}}{white} %style{${sys:PID}}{magenta}%style{-%t}{cyan} %highlight{%-5p}{DEBUG=white, TRACE=white} %style{%C{1.}[}{white}%style{%M:%L}{blue}%style{]–}{white}%highlight{%msg%n%throwable}{DEBUG=white, TRACE=white}’
- 列的宽度也可以设置,更多设置请参考官方英文文档
2)IDEA
二、代码Gitee地址,会不定期上新,欢迎交流
https://gitee.com/jason78/sampanjavademo/tree/master/demo007-log4j2
分享带来快乐,交流创造价值。
三、踩坑记录
1)用log4j2替代springboot默认的 logback,pom.xml依赖如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions><!-- 去掉springboot默认配置 -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <!-- 引入log4j2依赖 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
2)配置文件 log4j2.yml 没有生效,需要在pom.xml中添加以下依赖
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
3)eclipse console显示乱码,需要安装 ANSI 插件
菜单:Help > Eclipse Marketplace
4)控制台日志信息没有高亮颜色显示,需要在log4j2.yml中增加两个参数配置
PatternLayout:
disableAnsi : false
noConsoleNoAnsi : false
四、课后作业
- 日志存到文件,RollingFile
- 日志存到MySQL
- 日志存到Redis
- 日志存到Kafka
- 不同模块日志级别的动态调整
- 不想成为架构师的厨师不是好码农
- 先把代码跑起来,在实践中理解技术知识点
- 从代码到原理,从简单到复杂,从轮廓到细节,从实践到理论
- 追求简单,容易使人理解,知识的上下文也是知识的一部分,例如环境、配置、版本,时间等
- 把理解的知识点分享出来,自造福田,自得福缘
- 欢迎留言交流,也可以提出问题,不炒菜的时候会完善文档
- 代码地址 https://gitee.com/jason78/sampanjavademo
- Jason@vip.qq.com 2021-12-3