c: http://aub.iteye.com/blog/1103685 配置属性详解
http://blog.csdn.net/yingxiake/article/details/51274426 常用配置
logback是一套日志框架,由log4j的优化版,由同一个作者开发,在速度和性能上都超过其他日志框架,再结合slf4j,已成为当前最流行的日志框架。
Logback最常用就是在classpath定义一个lockback.xml配置文件,从而对日志进行配置输出。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
上面就是一个常用的日志配置模版,下面就从跟节点来解析每个节点
-
根节点configuration,有以下属性
a. scan,当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
b. scanPeriod,设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
c. debug,当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
-
contextName ,设置日志上下文名称,可以通过%contextName来打印日志上下文名称
-
property可以用来设置变量,可以通过${name}来访问,有以下的属性
a. name,用于${name}访问的key
b. value,用于${name}访问的value
c. file ,用于指定配置文件的路径,他的作用在于,如果你有多个配置信息的话,可以直接写在配置文件中,然后通过file引入
- 1
- 1
variables.properties如下
- 1
- 2
- 1
- 2
然后就直接通过${log.path}就可以访问其值
d.resource作用和file一样,但是,它是可以直接从classpath路径下引入配置文件
- 1
- 1
-
appender格式化日志输出节点,有俩个属性name和class,class用来指定哪种输出策略,常用就是控制台输出策略和文件输出策略。appender有以下子节点:
a. filter,日志输出拦截器,可以自定义拦截器也可以用系统一些定义好的拦截器
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
它可以提供最大的自定义输出,如果需要用到系统定义的拦截器,例如我们用ThresholdFilter来过滤掉ERROR级别以下的日志不输出到文件中
- 1
- 2
- 3
- 1
- 2
- 3
b. encoder和pattern节点组合用于具体输出的日志格式
c. file节点用来指明日志文件的输出位置,可以是绝对路径也可以是相对路径
d. rollingPolicy日志回滚策略,在这里我们用了TimeBasedRollingPolicy,基于时间的回滚策略,有以下子节点
fileNamePattern,必要节点,可以用来设置指定时间的日志归档,例如我们上面的例子是每天将日志归档成一个zip包
maxHistory ,可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件,,例如设置为30的话,则30天之后,旧的日志就会被删除
totalSizeCap,可选节点,用来指定日志文件的上限大小,例如设置为3GB的话,那么到了这个值,就会删除旧的日志
除了用TimeBasedRollingPolicy策略,我们还可以用SizeAndTimeBasedRollingPolicy,配置子节点的maxFileSize来指定单个日志文件的大小
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
root节点,必选节点,用来指定最基础的日志输出级别,他有俩个自己点可以用来应用appender,格式化日志输出
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-
logger节点,可选节点,用来具体指明包的日志输出级别,它将会覆盖root的输出级别