簡體   English   中英

使用Log4Net記錄InnerException

[英]Logging InnerException using Log4Net

如何使用Log4NET記錄內部異常?

這是我目前的轉換模式:

<conversionPattern value="%date [%appdomain] %-5level %logger [%property{NDC}] - %message%newline" />

控制台和文件添加程序會自動打印例外。 異常:消息,堆棧跟蹤和所有內部異常(同樣是堆棧跟蹤)記錄在單獨的行上,並且不遵循轉換模式。

我什至不確定您是否可以配置log4net不打印它。

更新:可以將附加程序配置為不打印stacktrace: Log4Net-僅注銷某些文件的異常stacktrace

%例外

日志條目中異常對象的格式化格式(如果條目包含異常); 否則,此格式表達式不會向日志條目添加任何內容

參考: http : //www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx

我相信您的異常將包含內部異常:

編輯:使用ILog.Error()方法代替ILog.ErrorFormat()。 根據文檔 ,ErrorFormat()不會將Exception對象包含在日志事件中

剛剛設法在Log4Net 2.0版的源代碼中對此進行了驗證,我可以看到沒有考慮記錄InnerException。 這是Log4Net(版本2)的當前限制,即它不支持開箱即用地呈現InnerException。 這就是為什么您將開始使用NLog的原因,因為它內置了對InnerException呈現的支持- 鏈接

暫無
暫無

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

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