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

Does log4cplus support xml configuration file and conditional logging?

本文关键字:条件 日志 记录 配置文件 是否 支持 xml log4cplus      更新时间:2023-10-16

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

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

我只想在"bar"时从log打印"fieldName",所以只有"XYZ"应该打印到我的日志中。

在 log4j 中,这可以使用带有过滤器的 XML 格式配置文件来完成。log4cplus 可以使用 XML 配置文件吗?是否可以在 XML 日志中设置这样的筛选器?

另外,有没有办法使 log4cplus 详细,这样我就可以查看它是否找到了我的配置文件,以及它是否能够读取它等。

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

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

至于使用MDC的过滤,目前没有这样的过滤器。您必须实现自己的。请参阅Filter类。

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