SpringBoot使用的 slf4j + logback:
日志输出信息为: --2022-11-08 14:44:56.836 -ERROR 10512 --- [ main] c.c.s.SpringBootLogging02Application : ERROR 错误
格式为:
%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
- %clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue}
- %d :logback 的日期显示格式
-
日期和时间:毫秒精度和容易排序。
- %clr(${LOG_LEVEL_PATTERN:-%5p})
-
日志级别:
ERROR
,警告
,INFO
,调试
,或TRACE
.
-
- %clr(${PID:- }){magenta}
-
进程ID
-
- %clr([%15.15t]){faint}
-
A
---
分隔符,用于区分实际日志消息的开头。
-
- %clr(%-40.40logger{39}){cyan}
- 线程名称:括在方括号中(控制台输出时可能会被截断)。
- %clr(:){faint}
- Logger name:这通常是源类名(通常缩写)
- %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
- 日志消息
其中%clr控制的 {blue} 是日志字体的颜色,例如:
%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue}
将时间的字体颜色设置为蓝色:
${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}
使用的是SpringBoot中的 ${value:value2} 占位符 + null 条件的表达式:SpringBoot首先会去环境中去取 LOG_DATEFORMAT_PATTERN 的值,如果为null,那么就会取 : 后的值 -yyyy-MM-dd HH:mm:ss.SSS
LOG_DATEFORMAT_PATTERN 对应的就是 logging.pattern.dateformat= 的值
并且可以获取该值:
日志文件输出:
logging.file.name=文件名称.log 或 D:\xxx\xx\文件名称.log
如果没有指定路径那么就会在当前项目路径下创建该文件,并且该选项可以指定路径。
logging.file.path=路径
在指定路径下生成日志文件,该选项只能指定路径,不能指定文件名称,默认会使用spring.log 来记录。
自定义日志配置文件:
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- 日志输出格式--> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{100} - %msg%n</pattern> </encoder> </appender> <!-- 控制日志范围,只输出某个包下的日志--> <logger name="com.cdulm.springbootlogging03" level="TRACE"></logger> <!-- 日志级别--> <root level="info"> <appender-ref ref="STDOUT"/> </root> </configuration>
当进行了自定义的日志文件的配置后,properties文件中的配置就会失效。
logback 结合 springProfiles 使用时需要使用以 logback-spring.xml 命名的配置文件
分类:
SpringBoot
, 日志
标签:
SpringBoot
, 日志
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)