[英]Log4Net, how to add a custom field (variable) to my logging
我指的是很棒的帖子:
但这并不能为我提供完整的解决方案。
记录“ This is a test”之类的字符串没问题,但是如果我想记录一个变量,它正在响应(空)。
这是我的摘录代码不起作用:
log4net.GlobalContext.Properties["versionid"] = Variables.IDVERSION;
这是我工作的代码片段:
log4net.GlobalContext.Properties["versionid"] = " This is a test";
虽然,IDVERSION是在我的代码c#中系统更新的公共财产。
有谁知道如何解决这个问题? 我想我已经解决了。
目前,您将其称为:
log4net.GlobalContext.Properties["versionid"] = Variables.IDVERSION;
该物业将持有的价值Variables.IDVERSION
的那一刻 。 它不会自动跟踪对Variables.IDVERSION
变量的更新。
因此,如果稍后在代码中设置Variables.IDVERSION
,则需要再次为Properties["versionid"]
进行赋值。
当log4net评估上下文属性时,它将调用属性值的.ToString()
方法。 因此,如果您具有引用作为值(我相信您的idversion
字段是值类型,例如Int?),则可以具有动态属性值。
有关更多详细信息,请参见https://logging.apache.org/log4net/release/manual/contexts.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.