Log4J之Layout —— PatternLayout

来源:互联网 发布:上古卷轴5字体优化 编辑:程序博客网 时间:2024/06/14 09:55

最常用的格式化器,用户可以自定义:日期、时间、所在的线程、类名、文件名、方法名、信息级别、文件行数

长度调整

Log4j能输出形形色色的参数,这些参数内容的长度可能是不同的。

例如,%C输出类名,有的类名很长,有的类名很短,会导致日志比较凌乱。

为解决该问题,Log4j允许设置输出内容的长度等,不够长会用空格补齐,使输出内容变得整齐。

 

设置方法是在%与参数符号间添加数字,例如%20P、%-20P等。

正数表示右对齐,负数表示左对齐,数字表示最小宽度,不足时用空格补齐。还

可以设置最大宽度,如果超出,则截取,方法是用小数点+数字设置,例如%.30P。

格式

对齐方式

最小宽度

最大宽度

描述

示例

[%10p]

右对齐

10

 

正数右对齐,最小宽度

[          ERROR]

[%-10P]

左对齐

10

 

负数左对齐,最小宽度

[ERROR          ]

[%.4P]

 

 

4

最大宽度

[RROR]

[%10.20]

右对齐

10

20

正数右对齐,最大最小宽度

[          ERROR]

[%-10.20]

左对齐

10

20

负数左对齐,最大最小宽度

[ERROR          ]

常用参数

参数

描述

示例

c

输出Logger所在的类别(即Logger的名字)。允许使用%c{数字}输出部分的名称(从右边往左边数)

%c:将输出a.b.Clazz

%c{1}:将输出Clazz

%c{2}:将输出b.Clazz

%c{3}:将输出a.b.Clazz

C

输出Logger所在类的名称。

有时候Logger的名称不同于类,例如Hibernate中用org.hibernate.SQL作为所有输出DML语句的Logger的名称,便于控制。允许使用%C{数字}输出部分的名称(从右边往左数)

%c:将输出a.b.Clazz

%c{1}:将输出Clazz

%c{2}:将输出b.Clazz

%c{3}:将输出a.b.Clazz

d

输出日期。允许使用%d{yyyy-MM-dd HH:mm:ss}格式化日期。%d不仅支持JDK SimpleDateFormat的日期格式,还支持log4j自己的日期格式,例如ABSOLUTEDATEISO8601

%d:将输出2013-06-01 23:42:34,343

%d{yyyy-MM-dd}:将输出2013-06-01

%d{ABSOLUTE}:将输出23:42:34,343

%d{DATE}:将输出01 六月 2013 23:42:34,343

F

输出所在的类文件名称

%F:将输出Log4jConfigTest.java

l

输出语句所在的行数,包括类名、方法名、文件名、行数等

%l:将输出bar.foo.Log4jConfigTest.test(Log4jConfigTest.java:34)

L

输出语句所在的行数,只输出数字

%L:将输出 34

m

输出消息

输出消息,即log.info(“”)log.debug(“”)中的参数

M

输出方法名

%M:将输出test

N

换行。Windows下输出\r\nLinux下输出\n

换行

p

输出日志级别(priority

DEBUGINFOERRORFITAL等。

r

输出从程序启动到输出该日志之间的时间间隔,单位:毫秒

%r:将输出 3000

t

输出当前的线程名称

%t:将输出mainThread-0Thread-1

%

%%用来输出百分号

 


原创粉丝点击