log4cplus是否支持xml配置文件和条件记录?

时间:2014-04-02 14:59:54

标签: c++ log4j log4cplus

我想使用MDC在我的程序中设置上下文,然后能够在配置文件中设置过滤器,以便仅显示来自特定上下文中的记录器的消息。

MDC mdc; 
mdc.put("fieldName", "foo"); 
LOG4CPLUS_DEBUG(log, "ABC"); 

mdc.put("fieldName", "bar"); 
LOG4CPLUS_DEBUG(log, "XYZ"); 

我只想在log"fieldName"时从"bar"打印,因此只应在我的日志中打印“XYZ”。

在log4j中,can be done使用带有过滤器的XML格式配置文件。 log4cplus可以使用XML配置文件吗?可以在XML日志中设置这样的过滤器吗?

另外,有没有办法使log4cplus冗长,所以我可以看看它是否找到了我的配置文件,以及它是否能够读取它等等。

我甚至无法找到log4cplus XML配置文件的一个示例或如何读取它。

1 个答案:

答案 0 :(得分:2)

Log4cplus不支持任何类型的XML配置文件。这是因为它需要一个XML解析器,这是一个非常重的依赖。

对于使用MDC的过滤,目前没有这样的过滤器。你必须实现自己的。请参阅Filter课程。

您可以使用log4cplus.configDebug=1从属性文件设置log4cplus调试。或者,您可以将LOG4CPLUS_LOGLOG_DEBUGENABLED环境变量设置为1。前者优先于后者。