簡體   English   中英

無論設置了哪個級別,如何將行寫到log4net日志文件?

[英]How do I write a line to a log4net log file, regardless which level is set?

無論當時設置了哪種日志級別,如何將條目寫入log4net文件? 我可以確保添加一行的唯一方法是添加一個“致命”條目。 這很丑陋,如果將級別設置為“關”,甚至會失敗。

例如:我想記錄該日志級別已更改為“錯誤”。 如果我要使用:

Logger.Log.Info($"LogLevel set to {logLevelText}");

然后,如果僅將級別設置為“錯誤”,則不會寫入此行。

那么,有沒有辦法在日志中寫一行呢?

不。 沒有日志級別,您將無法編寫條目。 但是,您可以在運行時操縱日志級別。 因此,您可以隨時將日志級別設置為所需的任何級別,只是確保您的消息已寫入日志,然后恢復原始級別。 有關詳細信息,請參見此SO線程

這就是我在項目中使用它的方式。 希望對您有所幫助。

private static readonly log4net.ILog rootlog = log4net.LogManager.GetLogger("rootLogger");

rootlog.Info(string.Format("Service [{0}] has started.", this.ServiceName)); // info msg

rootlog.Error(string.Format("Get Tasks Unsuccessfull: {0}", response.MessageValue)); // error msg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM