log4net-为跟踪目的创建许多记录器是一种好习惯吗?

如何解决log4net-为跟踪目的创建许多记录器是一种好习惯吗??

开发过程中遇到log4net-为跟踪目的创建许多记录器是一种好习惯吗?的问题如何解决?下面主要结合日常开发的经验,给出你关于log4net-为跟踪目的创建许多记录器是一种好习惯吗?的解决方法建议,希望对你解决log4net-为跟踪目的创建许多记录器是一种好习惯吗?有所启发或帮助;

问题描述

| 我想向我的消息传递应用程序添加跟踪功能。我使用的每条消息都有一个唯一的标识符,该标识符可用于后续的消息(由原始消息生成的消息)。 为了能够跨多个进程和可能的服务器监视消息的生命周期行为,我想使用log4net远程附加程序。 我可以使用一个记录器,在消息本身中编码消息ID
Logger: \"Messagelivetime\"
Message: \"SomeID | message text\")
但是我认为,如果我为每条消息创建一个记录器,那将很聪明:
Logger: \"Messagelivetime.someID\"
Message: \"message text\")
但是,由于
LogManager
类没有删除记录器的方法,我担心会遇到问题,因为将创建数千个废弃的记录器。 可以更深入地了解log4net的人可以提示我这种方法是否可行吗? 我已经找到了上下文属性。他们是更好的选择吗?以及如何写事件上下文?     

解决方法

在记录器本身中包含ID,我看不出任何好处。对我来说,这感觉错了。 本教程有关日志记录上下文可能会为您提供帮助。假设单个消息的所有操作都在单个线程中发生,则可以为消息ID设置上下文属性,使用适当的日志记录格式,并且消息ID只会出现在您的日志中。     

编程问答问答

在 CSS 中设置 cellpadding 和 cellspacing?
如何在 Java 中创建内存泄漏?
浮点数被破坏了吗?
按字符串属性值对对象数组进行排序
如何加快Android模拟器的速度?
如何舍入至多 2 位小数?
使用 Git 版本控制查看文件的更改历史记录
如何在 JavaScript 中检查空/未定义/空字符串?
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注