一:根节点<configuration>包含的属性:
- scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
- scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
- debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
二:根节点<configuration>的子节点:
appender:附加器
2.1设置:
<loger>
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>
。<loger>
仅有一个name
属性,一个可选的level
和一个可选的addtivity
属性。
-
name: 用来指定受此loger约束的某一个包或者具体的某一个类。
-
level: 用来设置打印级别,大小写无关:
TRACE
,DEBUG
, INFO,
WARN,
ERROR,
ALL和
OFF。 -
addtivity: 是否向上级loger传递打印信息。默认是true。
<root>
- level: 用来设置打印级别,大小写无关:
TRACE
,DEBUG
,INFO
,WARN
,ERROR
,ALL
和OFF
。 默认是DEBUG。
<loger>
和<root>
可以包含零个或多个<appender-ref>
元素,标识这个appender
将会添加到这个loger
。
<appender>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
文件中出现级别为INFO的日志内容
<appender name="COMM"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/communication.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>log/communication%i.log</fileNamePattern>//貌似是文件超出大小后,重命名文件
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">//貌似是限制每个文件大小
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{36}] - %msg%n</Pattern>
</encoder>
</appender>