mr *_*oob 4 logging log4j log4j2
我知道在log4j中你可以通过做类似的事情来使用多个appender:
log4j.logger.com.x=DEBUG, append1, append2
Run Code Online (Sandbox Code Playgroud)
但log4j2中的等价性是什么?
会是这样的:
logger.com.x.level = DEBUG
logger.com.x.appenderRefs = append1, append2
Run Code Online (Sandbox Code Playgroud)
?
您没有在您的示例中提供apundder append1和append2的类型,但这在您使用属性文件时很重要.假设appender定义如下:
appender.console.type = Console
appender.console.name = append1
...
appender.rolling.type = RollingFile
appender.rolling.name = append2
...
Run Code Online (Sandbox Code Playgroud)
记录器应该是这样的:
logger.console.name = com.x
logger.console.level = debug
logger.console.additivity = false
logger.console.appenderRef.console.ref = append1
logger.rolling.name = com.x
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = append2
Run Code Online (Sandbox Code Playgroud)
我建议根据手册中的属性文件配置示例进行此配置.我不是这样做的,而是更喜欢xml格式.我建议你考虑转向xml格式.log4j2文档中的大多数示例都是针对xml配置格式的.在xml的情况下,记录器配置非常紧凑,就像这样:
<Loggers>
<Logger name="com.x" level="debug" additivity="false">
<appenderRef ref="append1" />
<appenderRef ref="append2" />
</Logger>
...
</Loggers>
Run Code Online (Sandbox Code Playgroud)
小智 7
我知道这是一个很老的问题,但我通过使用以下语法(使用您的示例)找到了一个解决方案:
logger.com.x.appenderRef.app1.ref = append1
logger.com.x.appenderRef.app2.ref = append2
Run Code Online (Sandbox Code Playgroud)
通过这种方式,一切正常。
| 归档时间: |
|
| 查看次数: |
3819 次 |
| 最近记录: |