“Log4j 的 layout 配置”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“https://www.bilibili.com/video/BV1iJ411H74S?p=14”的新页面) |
Jihongchang(讨论 | 贡献) |
||
第1行: | 第1行: | ||
https://www.bilibili.com/video/BV1iJ411H74S?p=14 | https://www.bilibili.com/video/BV1iJ411H74S?p=14 | ||
+ | {| class="wikitable" | ||
+ | !格式化器类型 | ||
+ | !作用 | ||
+ | |- | ||
+ | |HTMLLayout | ||
+ | |格式化日志输出为 HTML 表格形式 | ||
+ | |- | ||
+ | |SimpleLayout | ||
+ | |简单的日志输出格式化,打印的日志格式为(info - message) | ||
+ | |- | ||
+ | |PatternLayout | ||
+ | |最强大的格式化器,可以根据自定义格式输出日志,如果没有指定转换格式, | ||
+ | 就使用默认的转换格式 | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Layout 的格式 === | ||
+ | 在 log4j.properties 配置文件中,我们定义了日志输出级别与输出端,在输出端中分别配置日志的输出格式。 | ||
+ | |||
+ | <nowiki>*</nowiki>log4j 采用类似 C 语言的 printf 函数的打印格式格式化日志信息,具体的占位符及其含义如下: | ||
+ | {| class="wikitable" | ||
+ | |%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 | ||
+ | |输出代码中的行号 | ||
+ | |- | ||
+ | |%% | ||
+ | |输出一个“%”字符 | ||
+ | |} |
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 | 输出代码中的行号 |
%% | 输出一个“%”字符 |