我在使用方面有问题 增强记录 库,如果我使用自己的日志类添加格式或目的地,则无法更改该目标或格式化。

有人知道如何更改Boost日志对象上的目标或格式化器吗?

我的情况是我想要一个不同的 目的地 (文件名)对于每个请求我的服务器组件处理,因此我需要有灵活的方法来更改它们。同样,我将同时从不同的线程登录,每个日志都应该真正具有自己的目的地,很容易添加 - 已删除。

宏观的记录对象确实是应用程序全局,这一事实并不能真正帮助这一点。

有人可以为我提供一些指导,说明我如何创建一种灵活的方式来从boost ::记录中添加/删除记录器的目的地?

有帮助吗?

解决方案

好的,这是我尝试的。它可能对您有用。看来,在您想使用线程 - 本地记录器时,似乎是针对全局记录仪量身定制的日志记录库。我会查找如何按需创建记录仪(即直接),例如通过分析 BOOST_DECLARE_LOG. 。那么您可以声明 std::map<int, Logger> 您用于将螺纹ID映射到特定的记录器。可能您可以创建自己的包装类别,该类别为客户端代码透明地处理。然后,您只需使用自己的日志记录层记录并在需要时创建特定于线程的记录器。如果您需要在请求完成后删除它们,则可以添加一种方法来执行此操作。

希望这可以帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top