必须包含“%i”例如,假设最小值和最大值分别为1和2,命名模式为 mylog%i.log,会产生归档文件mylog1.log和mylog2.log。还可以指定文件压缩选项,例如,mylog%i.log.gz 或者没有log%i.log.zip
triggeringPolicy:
SizeBasedTriggeringPolicy: 查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动。只有一个节点: :这是活动文件的大小,默认值是10MB。
例如:每天生成一个日志文件,保存30天的日志文件。
Java代码
1.
2.
ppender\> 3.
4. olicy\>
5. logFile.%d{yyyy-MM-dd}.log 6. 30 7.
8.
9.
10. %-4relative [%thread] %-5level %logger{35} - %msg%ntern>
11. 12. 13.
14.
15. 16. 17.
例如:按照固定窗口模式生成日志文件,当文件大于20MB时,生成新的日志文件。窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志。
Xml代码
1.
2. 3. test.log 4. 5. 6. tests.%i.log.zip 7. 1 8. 3 9. 10. 11. 12. 5MB 13. 14. 15. %-4relative [%thread] %-5level %logger{35} - %msg%n 16. 17. 18. 19. 20. 21. 22. 4.另外还有SocketAppender、SMTPAppender、DBAppender、SyslogAppender、SiftingAppender,并不常用,这些就不在这里讲解了,大家可以参考官方文档。当然大家可以编写自己的Appender。 : 负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流。 目前PatternLayoutEncoder 是唯一有用的且默认的encoder ,有一个节点,用来设置日志的输入格式。使用“%”加“转换符”方式,如果要输出“%”,则必须用“\\”对“\\%”进行转义。 例如: Xml代码 1. 2. %-4relative [%thread] %-5level %logger{35} - %msg%n 3. 里面的转换符说明: 转换符 作用 输出日志的logger名,可有一个整形参数,功能是缩短logger名,设置为0表示只输入logger最右边点符号之后的字符串。 Conversion specifier mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar Logger name Result %logger %logger{0} c {length } lo {length } logger {length } %logger{10} %logger{15} %logger{16} %logger{26} C {length } class {length } contextName cn %logger{5} Bar m.s.s.Bar m.s.s.Bar m.s.sample.Bar m.sub.sample.Bar mainPackage.sub.sample.Bar 输出执行记录请求的调用者的全限定名。参数与上面的一样。尽量避免使用,除非执行速度不造成任何问题。 输出上下文名称。 输出日志的打印日志,模式语法与java.text.SimpleDateFormat 兼容。 d {pattern } date {pattern } Conversion Pattern %d Result 2006-10-20 14:06:49,812 úte úte{ISO8601} úte{HH:mm:ss.SSS} úte{dd MMM yyyy ;HH:mm:ss.SSS} 2006-10-20 14:06:49,812 2006-10-20 14:06:49,812 14:06:49.812 20 oct. 2006;14:06:49.812 F / file 输出执行记录请求的java源文件名。尽量避免使用,除非执行速度不造成任何问题。 输出生成日志的调用者的位置信息,整数选项表示输出信息深度。 例如, êller{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) 例如, êller{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) caller{depth}caller{depth, evaluator-1, ... evaluator-n} L / line m / msg / message M / method n p / le / level r / relative t / thread replace(p ){r, t} 输出执行日志请求的行号。尽量避免使用,除非执行速度不造成任何问题。 输出应用程序提供的信息。 输出执行日志请求的方法名。尽量避免使用,除非执行速度不造成任何问题。 输出平台先关的分行符“\\n”或者“\\r\\n”。 输出日志级别。 输出从程序启动到创建日志记录的时间,单位是毫秒 输出产生日志的线程名。 p 为日志内容,r 是正则表达式,将p 中符合r 的内容替换为t 。 例如, \ 格式修饰符,与转换符共同使用: 可选的格式修饰符位于“%”和转换符之间。 第一个可选修饰符是左对齐 标志,符号是减号“-”;接着是可选的最小宽度 修饰符,用十进制数表示。如果字符小于最小宽度,则左填充或右填充,默认是左填充(即右对齐),填充符为空格。如果字符大于最小宽度,字符永远不会被截断。最大宽度 修饰符,符号是点号\后面加十进制数。如果字符大于最大宽度,则从前面截断。点符号“.”后面加减号“-”在加数字,表示从尾部截断。
例如:%-4relative 表示,将输出从程序启动到创建日志记录的时间进行左对齐且最小宽度为4。
logback 常用配置详解(三)
http://blog.csdn.net/haidage/article/details/6794540
:
过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。 过滤器被添加到 中,为 添加一个或多个过滤器后,可以用任意条件对日志进行过滤。 有多个过滤器时,按照配置顺序执行。
下面是几个常用的过滤器:
LevelFilter: 级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志。有以下子节点: :设置过滤级别
:用于配置符合过滤条件的操作 :用于配置不符合过滤条件的操作
例如:将过滤器的日志级别配置为INFO,所有INFO级别的日志交给appender处理,非INFO级别的日志,被过滤掉。
Xml代码
1.
2.
3. 4. INFO 5. ACCEPT