为跟踪目的创建许多日志记录器是一种好做法吗?

本文关键字:一种 跟踪 创建 许多 记录器 日志 | 更新日期: 2023-09-27 17:50:15

我想为我的消息传递应用程序添加跟踪功能。我使用的每条消息都有一个唯一的标识符,该标识符用于后续消息(由原始消息派生的消息)。

为了能够跨多个进程和可能的服务器监视消息的生命周期行为,我想使用log4net远程附加程序。

我可以使用一个记录器并在消息本身中编码消息ID:

  • Logger: "MessageLivetime" Message: "SomeId | message text")

然而,我认为这将是聪明的,如果我创建一个记录器每条消息:

  • Logger: "MessageLivetime.SomeId" Message: "message text")

然而,由于LogManager类没有删除记录器的方法,我担心会遇到问题,因为将创建数千个废弃的记录器。

有更深入了解log4net的人可以给我一个提示,如果这种方法是可行的吗?

我已经找到了上下文属性。他们是更好的选择吗?我如何写入事件上下文?

为跟踪目的创建许多日志记录器是一种好做法吗?

我认为在日志记录器本身中包含ID没有任何好处。我觉得方向不对。

关于日志上下文的教程可能会对您有所帮助。假设单个消息的所有内容都发生在单个线程中,您可以为消息ID设置上下文属性,使用适当的日志记录格式,消息ID将直接出现在日志中。