Log4Net,如何将自定义字段(变量)添加到我的日志记录中

本文关键字:添加 我的 日志 记录 变量 字段 自定义 Log4Net | 更新日期: 2023-09-27 18:37:17

我指的是优秀的帖子:

Log4Net,如何将自定义字段添加到我的日志记录中

但它并没有给我完整的解决方案。

记录

像"这是一个测试"这样的字符串没有问题,但如果我想记录一个变量,它会响应(null)。

这是我截取的代码不起作用:

log4net.GlobalContext.Properties["versionid"] = Variables.IDVERSION;

这是我的工作截图代码:

log4net.GlobalContext.Properties["versionid"] = " This is a test";

虽然,IDVERSION是在我的代码c#中系统更新的公共属性。

有没有人知道如何解决这个问题?我想我已经接近解决方案了。

Log4Net,如何将自定义字段(变量)添加到我的日志记录中

目前你称之为:

log4net.GlobalContext.Properties["versionid"] = Variables.IDVERSION;

该属性此时将保存 Variables.IDVERSION 的值。它不会自动跟踪对Variables.IDVERSION变量的更新。

因此,如果稍后在代码中设置Variables.IDVERSION,则需要再次执行分配以Properties["versionid"]

当 log4net 计算上下文属性时,它会调用属性值的 .ToString() 方法。因此,如果您有引用作为值,则可以具有动态属性值(我相信您的idversion字段是值类型,例如。国际?

有关更多详细信息,请参阅 https://logging.apache.org/log4net/release/manual/contexts.html