首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Log4j札记 第六章 常用的Layout

2012-12-24 
Log4j笔记 第六章 常用的LayoutSimpleLayout,仅包括消息等级和消息。PatternLayout,使用c的print方法,修饰

Log4j笔记 第六章 常用的Layout
SimpleLayout,仅包括消息等级和消息。
PatternLayout,使用c的print方法,修饰日志。常用的Layout。
HTMLLayout,将日志包装为HTML的格式。
XMLLayout,将日志包装为XML的格式。
EnhancedPatternLayout,扩展PatternLayout,具体参考 EnhancedPatternLayout.java。

第一节 PatternLayout
具体情况,参考PatternLayout.java源码。

1、转义符
PatternLayout使用%作为转移字符。
%% 表示字面意义上的“%”。
如果%后面的不是合法的转义字符,%还是表示字面意义上的“%”。(log4j会提示出错。)

2、换行
%n   换行符号(Window下是\r\n, Linux下是\n)

3、长度控制
D代表数字,Z代表被转义字符
格式意义例子
%DZ如果“%Z”对应的字符串不足“D”位时,前面补空格“ ”达到D位。%15m
%-DZ如果“%Z”对应的字符串不足“D”位时,后面补空格“ ”达到D位。%-15m
%.DZ如果“%Z”对应的字符串超过“D”位时,取后面的D位字符串。%.30m
%D.DZ%DZ和%.DZ的组合。%15.30m
%-D.DZ%-DZ和%.DZ的组合。%-15.30m

4、转义字符,LoggingEvent的信息
%c   event.getLoggerName();
%C   event.getLocationInformation().getClassName()
%d  event.timeStamp ,默认采用ISO8601DateFormat("YYYY-mm-dd HH:mm:ss,SSS")
%d{ISO8601} "YYYY-mm-dd HH:mm:ss,SSS"
%d{ABSOLUTE} 
%d{DATE}   
%d{***}    用SimpleDateFormat,处理字符串的格式。

%F   event.getLocationInformation().getFileName()
%l   event.getLocationInformation().fullInfo
%L  event.getLocationInformation().getLineNumber()
%m   event.getRenderedMessage()  
%M  event.getLocationInformation().getMethodName()
%p   event.getLevel().toString()
%r (Long.toString(event.timeStamp - LoggingEvent.getStartTime()))
%t  event.getThreadName()
%x event.getNDC()
%X  event.getProperties()     (event.getProperties()是一个Map)
%X{key}  event.getMDC(key)    (如果:event.getMDC(key)不存在,则为key)

热点排行