一、转换符
用于定义输出的内容
转换符 | 说明 |
c{length} lo{length} logger{length} | 输出源记录事件的 logger 名 参数length指定缩短 logger 名的规则,类名永远不省略;为0表示只显示类名,非0包名段最小一个字符 |
d{pattern} date{pattern} | 输出记录事件的日期 语法与java.text.SimpleDateFormat 的格式兼容 |
L line | 输出执行记录请求的行号 |
M method | 输出执行记录请求的方法名 |
le level | 输出记录事件的级别 |
t thread | 输出产生记录事件的线程名 |
ex{length} exception{length} throwable{length} | 输出与记录事件相关联的堆栈跟踪 默认输出全部堆栈跟踪;short打印第一行;full打印全部,>0指定打印行数 |
xEx{length} xException{length} xThrowable{length} | 与ex|exception|throwable一样,输出与记录事件相关联的堆栈跟踪,但是多了jar包的信息 没有显示指定异常转换符时,PatternLayout将自动以此作为最末端的转换符 |
nopex nopexception | 表示不输出任何堆栈跟踪 可以覆盖PatternLayout默认设置异常转换符的行为 |
二、格式符
1、符号
符号 | 说明 | |||||
% | 标识符,用于修饰格式转换符;作为文本使用需要转义 | |||||
- | 减号,左对齐标志;接输出的最少字符个数的十进制数,小于则右填充空格;不带符号则右对齐 | |||||
. | 点号,最大宽度修饰符;接输出的最大字符个数的十进制数,超出则从前面截断字符;%.20thread | |||||
() | 圆括号,编组标记;可以将多个子模式进行编组,然后对这个编组应用格式化指令;成对的圆括号作为文本使用需要转义 |
2、应用
格式符 | 对齐 | 最小宽度 | 最大宽度 | 备注 |
%20logger | 右 | 20 | 无 | 如果 logger 名少于 20 个字符则左填充空格 |
%-20logger | 左 | 20 | 无 | 如果 logger 名少于 20 个字符则右填充空格 |
%.30logger | 无 | 无 | 30 | 如果 logger 名多于 30 个字符则从开头截断 |
%.-30logger | 无 | 无 | 30 | 如果 logger 名多于 30 个字符则从末尾截断 |
%20.30logger | 右 | 20 | 30 | 如果 logger 名少于 20 个字符则左填充空格,如果多于 30 个字符则从开头截断 |
%-20.30logger | 左 | 20 | 30 | 如果 logger 名少于 20 个字符则右填充空格,如果多于 30 个字符则从开头截断 |
三、示例
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5level [%15.15thread] %-40.40(%logger{36}:%line) : %msg %n</Pattern>