logback.xml 配置不同类的日志打印到不同的日志文件中
时间: 2024-02-23 10:58:12 浏览: 31
要将不同类的日志打印到不同的日志文件中,可以使用 Logback 的 SiftingAppender。SiftingAppender 会根据一定的规则将日志事件分发到不同的 Appender 中,从而实现将不同类的日志打印到不同的日志文件中的功能。
下面是一个使用 SiftingAppender 将日志打印到不同文件的 logback.xml 配置示例:
```xml
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>loggerName</key>
<defaultValue>default</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${loggerName}" class="ch.qos.logback.core.FileAppender">
<file>/path/to/log/${loggerName}.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
</sift>
</appender>
<root level="debug">
<appender-ref ref="SIFT"/>
</root>
```
在上面的配置中,我们定义了一个 SiftingAppender,它的 discriminator 使用 loggerName 作为区分不同日志的关键字。然后在 sift 中配置了一个 FileAppender,它的 name 中包含了 loggerName,这样就可以将不同 loggerName 的日志分发到不同的 FileAppender 中,从而实现将不同类的日志打印到不同的日志文件中的功能。
需要注意的是,上面的配置中,我们使用了 `%logger{36}` 来输出日志事件所在类的类名,这个参数中的数字表示要输出的类名的最大长度,可以根据实际情况进行调整。
相关推荐
![xml](https://img-home.csdnimg.cn/images/20210720083646.png)
![xml](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)