[英]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.