使用log4cxx进行日志记录和过滤

时间:2011-05-13 13:23:13

标签: c++ logging log4cxx

我正在处理需要记录和过滤功能的应用程序。 我正在使用c ++。我开始了解log4cxx支持日志记录。

我在过滤方面遇到了困难。

我有五个字段

  1. MAcID
  2. 日期和时间
  3. 命令类型
  4. 状态
  5. Text Msg
  6. 我需要将这5个字段存储在日志文件中,并根据以下过滤选项对其进行过滤。记录和过滤将在运行时自行完成。一旦文件大小达到10 MiB,它将从头开始重写文件。

    过滤选项
    1. MAcID
    2.日期和时间

    可以通过过滤其中一个或两个来完成过滤。 结果应该返回日志文件中的所有字段。

    1. 是否可以使用log4CXX在日志文件中存储多个字段?
    2. 如何根据上述标准过滤信息?
    3. 我是否需要编写自己的继承自现有过滤器类的过滤器类?
    4. 我是否需要编写自定义记录器类来在日志文件中存储5个字段?

2 个答案:

答案 0 :(得分:2)

我遇到的问题与第1点和第4点相似。我读了log4cxx代码,我发现了一个可能的解决方案。求职者测试了解决方案并取得了进展。他的结论可以找到here

我们在log4cxx邮件列表中询问它是否是正确的解决方案,这就是我们got的答案。我希望有所帮助。

答案 1 :(得分:0)

我认为log4cxx不适合您的任务,我不确定是否可以使用log4cxx完成此操作。

您可以从自定义appender和您自己的日志级别以及您自己的过滤器开始 为了让它运行你需要设置一个日志级别确定应该使用哪个过滤器字段,何时更改过滤器需要清除过滤器并设置一个新过滤器。 然后,您可以提取日志字符串,搜索您的过滤器,并让它决定是否要输出日志消息。