Log4C - 允许每个类别有多个appender

时间:2014-10-03 13:43:03

标签: logging configuration categories appender log4c

我正在使用Log4C并享受其功能,但缺少一项功能:每个类别有多个appender 引自http://log4c.sourceforge.net/:“未来的版本将为每个类别处理多个appender”。

我需要将单个日志消息输出到多个位置和格式(XML文件,文本文件和标准输出)

我已经创建了3个具有适当格式的appender并且它们都可以自行工作但如果我尝试将所有三个分配到Log4crc配置文件中的单个类别,它将只执行第一个条目。 e.g。

<category name="log.plugin"  priority="debug" appender="file" /> 
<category name="log.plugin"  priority="debug" appender="xml" /> 
<category name="log.plugin"  priority="debug" appender="stdout"/>

在这种情况下,它只会写入“file”appender。如果“xml”appender首先出现在列表中,那么它只会写入“xml”appender。

是否有人为每个类别成功实施了多个appender?或者有合适的解决方法吗?

我发现的一种方法是制作长类别名称并利用类别层次结构。 e.g。

<category name="log.plugin."  priority="debug" appender="file" /> 
<category name="log.plugin.foo"  priority="debug" appender="xml" /> 
<category name="log.plugin.foo.bar"  priority="debug" appender="stdout"/>

然后,如果我在初始化记录器时引用“log.plugin.foo.bar”,它将写入所有三个位置。我不太喜欢这种解决方法,因为它使配置文件变得混乱,因为我将需要写入这三个appender的许多类别。

感谢您的帮助!

0 个答案:

没有答案