【发布时间】:2012-02-17 08:48:14
【问题描述】:
我想定义一个 logback 配置文件,它将能够:
- 在 debug.log 中记录 DEBUG(及更高版本)内容
- 在 info.log 中记录 INFO(及更高版本)内容
也就是说,当我打电话时:
logger.warn("blah"); // Logs to both info.log and debug.log
logger.debug("bleh"); // Logs to debug.log only
有可能吗?
我试过这样的东西,但是当logback遇到多个
<appender name="infoFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOGS_FOLDER}/info.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="debugFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOGS_FOLDER}/debug.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="infoFile" />
</root>
<root level="DEBUG">
<appender-ref ref="debugFile" />
</root>
这里,info.log 包含调试级日志:(
请注意,我想将此行为应用于我的每个包。
【问题讨论】:
-
哦,是的......你是对的!似乎级别过滤器(logback.qos.ch/manual/filters.html#levelFilter)是我需要的:)