Log4cplus具有 spi::StringMatchFilter 过滤器,可以将字符串或子字符串简单地匹配到日志消息(事件消息) .
我有gcc版本4.8.5,我想要做的是添加Log4cplus使用正则表达式过滤日志消息的能力,而不仅仅是一个简单的子字符串(简单的strstr搜索) .
我尝试过使用std :: regex和std :: tr1 :: regex libs,但遗憾的是它们的功能并没有完全在gcc 4.8编译器上实现 .
我很乐意得到一个方向或想法如何实现我的目标? (我不能升级我的gcc,也不能使用boost libs) .
我知道一个选项是使用PCRE lib通过使用此lib编译Log4cplus Makefile并在Log4cplus Filter.cxx src代码中添加正则表达式函数,但我不知道如何修改Log4cplus Makefile以链接到PCRE lib(在何处以及如何添加PCRE lib链接) .
我会很感激任何建议 .
1 回答
我认为这个问题有点过于宽泛 .
您无需修改log4cplus本身 . 您可以将过滤器放入您自己的应用程序代码中,并使用工厂注册表注册过滤器: