java Logback 日志格式参数详细说明

logback 打印日志格式介绍官网
Springboot [日志管理LogBack]

java Logback 日志格式参数详细说明

打印日志格式:

复制代码
<property name="LOG_PATTERN" value="[${APP_NAME} ${SERVER_IP}:${SERVER_PORT}] %d{yyyy-MM-dd HH:mm:ss.SSS} %level ${PID} [%X{traceId}-%X{spanId}] [%thread] %logger %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

Logback 参数说明

%logger

输出日志 所属的类的全名。等价:

复制代码
%logger = %lo = %c

使用说明:

  • %logger 默认不给长度,显示所有。

  • 日志名字,最右边的名字永远不会被缩写,不管你给的长度是不是小于最右边的长度。

  • 其他部分,最少被缩短到一个字符,但不会被完全删除。

    %logger{5}:%L

%L: 显示打印日志行号

%class

类名。等价:

复制代码
%class = %C

使用说明:

  • 打印出类名信息,不被推荐使用。除非执行速度不是问题。

%data

输出日志时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}。等价:

复制代码
%data = %d

%file

输出类名。等价:

复制代码
%file = %F

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%line

输出日志事件的发生位置,即输出日志讯息的语句在他所在类别的第几行。等价:

复制代码
%line = %L

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%msg

输出代码中指定的讯息,如:log(message) 中的 message。等价:

复制代码
%msg = %m = %message

%method

方法名,日志请求发出的方法的方法名。等价:

复制代码
%method = %M

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%n

输出一个换行符号。

使用说明:

  • %n 换行的效果和 \ n 或者 \ r\n 效果一样 在日志中起到换行的效果。

%level

输出优先级,即 DEBUG、INFO、WARN、ERROR、FATAL。等价:

复制代码
%level = %p = %le

关于这里 -5 的解释:【是否左对齐以及空格填充,最大字符和最小字符等,有兴趣可以自己研究一下】

%relative

输出自应用启动到输出该日志讯息所耗费的毫秒数。等价:

复制代码
%relative = %r

%thread

输出产生该日志事件的线程名。等价:

复制代码
%thread = %t

%i

这个在官方文档没有,但是它代表的是序号的意思

尤其在生成日志文件的时候,这个是非常有必要的,因为日志文件必须要设置最大文件大小,如果在生成日志文件的规则内,一个日志文件生成到了最大值,那就需要生成 2 号文件。

Logback 彩色日志

Logback 可配置多种颜色,支持:%black,%shired,%green,%yellow,%blue,%magenta,%cyan,%white,%gray,%boldRed,%boldGreen,%boldYellow,%boldBlue,%boldMagenta%boldCyan,%boldWhite,%highlight。

pattern 输出格式配置

复制代码
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
 
<!-- 彩色日志格式 -->
<property %clr([${APP_NAME} ${SERVER_IP}:${SERVER_PORT}]){green} %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%level) %clr(${PID}){magenta} %clr([%X{traceId}-%X{spanId}]){yellow} %clr([%thread]){blue} %clr(%logger){cyan}.%clr(%method:%line){blue} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

logback 指定异常堆栈信息的输出行数

使用logback作为日志输出框架实现。

当程序出现异常时,输出的堆栈信息一般很多,但对于排查问题时是有点多余的,一般都是第三方包内部的各种调用信息,而对我们有用的信息往往就在上面几行

此时可以选择简化堆栈信息的打印,指定堆栈信息输出行数

在pattern标签中添加如下信息即可
%ex{5}

1示例
%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{traceId}] [%p] [%c{0}:%L] %m %n %ex{5}

参考文档

http://logback.qos.ch/manual/layouts.html#formatModifiers

相关推荐
考虑考虑2 小时前
Jpa使用union all
java·spring boot·后端
用户3721574261352 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊3 小时前
Java学习第22天 - 云原生与容器化
java
渣哥5 小时前
原来 Java 里线程安全集合有这么多种
java
间彧5 小时前
Spring Boot集成Spring Security完整指南
java
间彧5 小时前
Spring Secutiy基本原理及工作流程
java
Java水解6 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆8 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学9 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole9 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端