配置logback文档
This commit is contained in:
@@ -108,6 +108,9 @@ logger.debug("The entry is {}.", entry);
|
|||||||
2. 如果1步骤失败,会尝试在classpath中寻找`logback-test.xml`
|
2. 如果1步骤失败,会尝试在classpath中寻找`logback-test.xml`
|
||||||
3. 如果2步骤失败,会尝试在classpath中寻找`logback.xml`
|
3. 如果2步骤失败,会尝试在classpath中寻找`logback.xml`
|
||||||
|
|
||||||
|
> #### 通过命令行System Properties设置logback配置文件位置
|
||||||
|
> 可以通过向命令行传递`-Dlogback.configurationFile=/path/to/config.xml`来设置logback配置文件的位置
|
||||||
|
|
||||||
### 通过xml形式配置logback
|
### 通过xml形式配置logback
|
||||||
```xml
|
```xml
|
||||||
<configuration>
|
<configuration>
|
||||||
@@ -125,3 +128,64 @@ logger.debug("The entry is {}.", entry);
|
|||||||
</root>
|
</root>
|
||||||
</configuration>
|
</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