logback 常用配置详解(二) <appender>
转载自:http://www.360doc.com/content/11/0915/11/1542811_148397974.shtml,谢谢作者的劳动成员,仅供学习
?

<appender>:
<appender>是<configuration>的子节点,是负责写日志的组件。
<appender>有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。
?
1.ConsoleAppender:
把日志添加到控制台,有以下子节点:
<encoder>:对日志进行格式化。(具体参数稍后讲解?)
<target>:字符串?System.out?或者?System.err?,默认?System.out?;
例如:
- Conversion PatternResult%d2006-10-20 14:06:49,812%date2006-10-20 14:06:49,812%date{ISO8601}2006-10-20 14:06:49,812%date{HH:mm:ss.SSS}14:06:49.812%date{dd?MMM?yyyy?;HH:mm:ss.SSS}20 oct. 2006;14:06:49.812F / file输出执行记录请求的java源文件名。尽量避免使用,除非执行速度不造成任何问题。caller{depth}caller{depth, evaluator-1, ... evaluator-n}输出生成日志的调用者的位置信息,整数选项表示输出信息深度。
例如,?%caller{2}?? 输出为:
0 [main] DEBUG - logging statement Caller+0 at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)Caller+1 at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)
例如,?%caller{3}?? 输出为:
16 [main] DEBUG - logging statement Caller+0 at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)Caller+1 at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)Caller+2 at mainPackage.ConfigTester.main(ConfigTester.java:38)L / line输出执行日志请求的行号。尽量避免使用,除非执行速度不造成任何问题。m / msg / message
输出应用程序提供的信息。
M / method输出执行日志请求的方法名。尽量避免使用,除非执行速度不造成任何问题。n输出平台先关的分行符“\n”或者“\r\n”。p / le / level输出日志级别。r / relative输出从程序启动到创建日志记录的时间,单位是毫秒t / thread输出产生日志的线程名。replace(p?){r, t}p?为日志内容,r?是正则表达式,将p?中符合r?的内容替换为t?。
例如, "%replace(%msg){'\s', ''}"
?
?
格式修饰符,与转换符共同使用:
可选的格式修饰符位于“%”和转换符之间。
第一个可选修饰符是左对齐?标志,符号是减号“-”;接着是可选的最小宽度?修饰符,用十进制数表示。如果字符小于最小宽度,则左填充或右填充,默认是左填充(即右对齐),填充符为空格。如果字符大于最小宽度,字符永远不会被截断。最大宽度?修饰符,符号是点号"."后面加十进制数。如果字符大于最大宽度,则从前面截断。点符号“.”后面加减号“-”在加数字,表示从尾部截断。
?
?
例如:%-4relative 表示,将输出从程序启动到创建日志记录的时间 进行左对齐 且最小宽度为4。
?
?
?
?
?
**下一篇将讲解过滤器???filter?**