配置logback文档
This commit is contained in:
@@ -108,6 +108,9 @@ logger.debug("The entry is {}.", entry);
|
||||
2. 如果1步骤失败,会尝试在classpath中寻找`logback-test.xml`
|
||||
3. 如果2步骤失败,会尝试在classpath中寻找`logback.xml`
|
||||
|
||||
> #### 通过命令行System Properties设置logback配置文件位置
|
||||
> 可以通过向命令行传递`-Dlogback.configurationFile=/path/to/config.xml`来设置logback配置文件的位置
|
||||
|
||||
### 通过xml形式配置logback
|
||||
```xml
|
||||
<configuration>
|
||||
@@ -125,3 +128,64 @@ logger.debug("The entry is {}.", entry);
|
||||
</root>
|
||||
</configuration>
|
||||
```
|
||||
|
||||
### 自动加载配置文件更新
|
||||
logback支持对配置文件的变动进行扫描,并且对扫描到的变动进行自动配置。为了令logback支持配置自动更新,需要为`configuration`元素配置scan属性,示例如下所示:
|
||||
```xml
|
||||
<configuration scan="true">
|
||||
...
|
||||
</configuration>
|
||||
```
|
||||
|
||||
在开启配置自动更新时,默认会每间隔`1 minute`就扫描配置变动。可以通过`scanPeriod`属性自定义扫描周期,周期单位可以是`milliseconds, seconds, minutes, hours`。示例如下所示:
|
||||
```xml
|
||||
<configuration scan="true" scanPeriod="30 seconds" >
|
||||
...
|
||||
</configuration>
|
||||
```
|
||||
> 如果在没有为scanPerod属性值指定单位时,默认单位为ms
|
||||
|
||||
### xml配置文件语法
|
||||
一个基础的xml配置文件可以包含如下结构:
|
||||
|
||||
1. 一个`<configuration>`元素
|
||||
1. 0或多个`<appender>`元素
|
||||
2. 0或多个`<logger>`元素
|
||||
3. 最多一个`<root>`元素
|
||||
|
||||
#### `<logger>`
|
||||
`<logger>`元素用于配置logger,其接收一个必填的`name`属性,一个可选的`level`属性,一个可选的`additivity`属性。
|
||||
- `additivity`属性的值可以为true或者false。
|
||||
- `level`属性的值可以为`TRACE, DEBUG, INFO, WARN, ERROR, ALL, OFF`,是大小写不敏感的。
|
||||
- 如果想要从上级继承level,可以将level属性的值设置为`INHERITED`或是`NULL`
|
||||
|
||||
`logger`元素中可以包含0个或多个`<appender-ref>`元素,这样每个引用的appender都会被加入到logger中。
|
||||
|
||||
#### `<root>`
|
||||
`root`元素用于配置root logger,其只支持一个属性`level`。由于root元素已经被命名为`ROOT`,故而也不允许指定`name`属性。
|
||||
|
||||
`<root>`元素的`level`属性只能被赋值为`TRACE, DEBUG, INFO, WARN, ERROR, ALL, OFF`,不能被赋值为`INHERITED`或是`NULL`.
|
||||
|
||||
和logger元素一样,root元素中也能包含0个或多个`<appender-ref>`元素。
|
||||
|
||||
```xml
|
||||
<configuration>
|
||||
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<!-- encoders are assigned the type
|
||||
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<logger name="chapters.configuration" level="INFO"/>
|
||||
|
||||
<!-- Strictly speaking, the level attribute is not necessary since -->
|
||||
<!-- the level of the root level is set to DEBUG by default. -->
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user