4

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

我在过滤时遇到了困难。

我有五个字段

  1. MACID
  2. 日期和时间
  3. 命令类型
  4. 地位
  5. 短信

我需要将这 5 个字段存储在日志文件中,并根据以下过滤选项对其进行过滤。日志记录和过滤将在运行时本身完成。一旦文件大小达到 10 MiB,它将从头开始重写文件。

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

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

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

2 回答 2

2

我曾经遇到过与第 1 点和第 4 点类似的问题。我阅读了 log4cxx 代码并找到了可能的解决方案。一位工作伙伴测试了解决方案并推进了它。他的结论可以在这里找到。

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

于 2011-05-25T16:44:14.207 回答
0

我不认为 log4cxx 是适合您任务的工具,我不确定这是否可以使用 log4cxx 完成。

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

于 2011-05-23T13:23:54.070 回答