如何将异常记录到文件?
How to log exceptions to a file?
对我的 MVC 项目使用 this example,我想在一个文件上记录我的异常,即使没有附加调试器,当我 运行 我的项目在 IIS 上发布后,而不是在输出中window 当项目处于调试状态时。
我的代码与 link 中提供的代码相同。
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;
namespace ServerSide
{
public class MyLoggerService : DevExpress.XtraReports.Web.ClientControls.LoggerService
{
public override void Info(string message)
{
System.Diagnostics.Debug.WriteLine("[{0}]: Info: '{1}'.", DateTime.Now, message);
}
public override void Error(Exception exception, string message)
{
System.Diagnostics.Debug.WriteLine("[{0}]: Exception occured. Message: '{1}'. Exception Details:\r\n{2}",
DateTime.Now, message, exception);
}
}
}
如何更改此代码以使其将异常记录到文件中?
如果有人需要,解决方法是在错误方法中添加以下代码:
string filePath = @"C:\ReportDesigner\server\publish\Exceptions.txt";
using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine("-----------------------------------------------------------------------------");
writer.WriteLine("Date : " + DateTime.Now.ToString());
writer.WriteLine();
while (exception != null)
{
writer.WriteLine(exception.GetType().FullName);
writer.WriteLine("Message : " + exception.Message);
writer.WriteLine("StackTrace : " + exception.StackTrace);
exception = exception.InnerException;
}
}
对我的 MVC 项目使用 this example,我想在一个文件上记录我的异常,即使没有附加调试器,当我 运行 我的项目在 IIS 上发布后,而不是在输出中window 当项目处于调试状态时。
我的代码与 link 中提供的代码相同。
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;
namespace ServerSide
{
public class MyLoggerService : DevExpress.XtraReports.Web.ClientControls.LoggerService
{
public override void Info(string message)
{
System.Diagnostics.Debug.WriteLine("[{0}]: Info: '{1}'.", DateTime.Now, message);
}
public override void Error(Exception exception, string message)
{
System.Diagnostics.Debug.WriteLine("[{0}]: Exception occured. Message: '{1}'. Exception Details:\r\n{2}",
DateTime.Now, message, exception);
}
}
}
如何更改此代码以使其将异常记录到文件中?
如果有人需要,解决方法是在错误方法中添加以下代码:
string filePath = @"C:\ReportDesigner\server\publish\Exceptions.txt";
using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine("-----------------------------------------------------------------------------");
writer.WriteLine("Date : " + DateTime.Now.ToString());
writer.WriteLine();
while (exception != null)
{
writer.WriteLine(exception.GetType().FullName);
writer.WriteLine("Message : " + exception.Message);
writer.WriteLine("StackTrace : " + exception.StackTrace);
exception = exception.InnerException;
}
}