Log4j 的 layout 配置

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2023年2月24日 (五) 08:03的版本
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1iJ411H74S?p=14

格式化器类型 作用
HTMLLayout 格式化日志输出为 HTML 表格形式
SimpleLayout 简单的日志输出格式化,打印的日志格式为(info - message)
PatternLayout 最强大的格式化器,可以根据自定义格式输出日志,如果没有指定转换格式,

就使用默认的转换格式



Layout 的格式

在 log4j.properties 配置文件中,我们定义了日志输出级别与输出端,在输出端中分别配置日志的输出格式。

*log4j 采用类似 C 语言的 printf 函数的打印格式格式化日志信息,具体的占位符及其含义如下:

%m 输出代码中指定的日志信息
%p 输出优先级,即 DEBUG、INFO 等
%n 换行符(Windows 平台的换行符为“\r\n”,Unix 平台为 “\n”)
%r 输出自应用启动到输出该 log 信息的毫秒数
%c 输出打印语句所属的类的全名
%t 输出产生该日志的线程全名
%d 输出服务器当前时间,默认为 ISO8601,也可以指定格式,如:%d{yyyy年MM月dd日 HH:mm:ss}
%l 输出日志事件发生的位置,包括类名、线程、及在代码中的行数。如:Test.main(Test.java:10)
%F 输出日志消息产生时所在的文件名称
%L 输出代码中的行号
%% 输出一个“%”字符