-2
如何記錄來自ASP.net MVC應用程序的所有異常?應該使用日誌記錄到文本文件嗎?如果是這樣,這個文本文件應該保存到計算機磁盤還是數據庫中的表格中?如何從ASP.net MVC應用程序記錄所有異常
如何記錄來自ASP.net MVC應用程序的所有異常?應該使用日誌記錄到文本文件嗎?如果是這樣,這個文本文件應該保存到計算機磁盤還是數據庫中的表格中?如何從ASP.net MVC應用程序記錄所有異常
我用log4net的它很容易實現 https://www.nuget.org/packages/log4net/
在webconfig添加此配置可以參考https://logging.apache.org/log4net/release/manual/configuration.html
<log4net debug="true">
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\log.txt" /> <- this is where your log file will be
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
控制器內聲明變量用於登錄
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
現在在控制器內部的任何地方,你可以調用這個
logger.Info("blablabla")
或logger.Error("boom boom")
您應該檢查文檔以獲取更多信息。
您可以使用異常過濾器,然後將異常寫入其中的文本文件。可能會給你一個想法如何開始:http://www.asp.net/web-api/overview/error-handling/exception-handling。 – lintmouse
您可以使用Elmah並將例外記錄到文件中:https://code.google.com/p/elmah/wiki/MVC –