【发布时间】:2010-03-08 14:08:52
【问题描述】:
我们正在使用 ELMAH 记录 Web 应用程序异常,效果很好!。我们也想知道如何自定义 ELMAH 来记录 windows 服务异常。
我对使用其他应用程序仅记录 Windows 服务异常不感兴趣。
任何帮助将不胜感激。
【问题讨论】:
我们正在使用 ELMAH 记录 Web 应用程序异常,效果很好!。我们也想知道如何自定义 ELMAH 来记录 windows 服务异常。
我对使用其他应用程序仅记录 Windows 服务异常不感兴趣。
任何帮助将不胜感激。
【问题讨论】:
我以前做过这个。我通过挖掘从 ErrorSignal.FromCurrentContext().Raise(ex); 开始的源代码找到了要使用的代码;方法。
这目前只记录到数据库(这就是我所需要的),但通过更多调查,您可以编写一个包装器方法,记录到您在配置文件中设置的任何内容。
try
{
Elmah.SqlErrorLog ErrorLog = new Elmah.SqlErrorLog(ConfigurationManager.ConnectionStrings["Default"].ConnectionString);
ErrorLog.ApplicationName = "AppName";
ErrorLog.Log(new Elmah.Error(new Exception("example")));
}
catch (Exception ex)
{
//catch sql error
}
在我的服务中,我将 ErrorLog 变量设置为一个公共的单例对象,可以轻松地从服务项目中访问。
【讨论】:
你可以使用它
Elmah.ErrorLog.GetDefault(null).Log(new Elmah.Error(new Exception("Error text")));
【讨论】: