在MVC4中使用Elmah和NLog

本文关键字:Elmah NLog MVC4 | 更新日期: 2023-09-27 17:54:35

我在MVC4应用程序中使用Elmah处理异常。然后安装了NLog进行调试。当出现异常

try
{
    // There is exception occured here
}
catch (DataException ex)
{
    logger.Log(LogLevel.Error, dex.Message);
    ModelState.AddModelError("", "Unable to save changes");
}

为什么NLog不记录异常而elmah记录?我想使用NLog和elmah记录异常,如何配置它们?

在MVC4中使用Elmah和NLog

我决定把这个作为一个答案,因为评论不清楚:

NLog文档给出了如何构建web的描述。配置(或使用单独的配置文件)

你需要在你的web.config

<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>
  <nlog>
     **** Nlog specific settings go here *****
  </nlog>
</configuration>

一些示例NLog设置:

  <variable name="logDirectory" value="${basedir}/logs/${shortdate}"/>
  <targets>
    <target name="file1" xsi:type="File" fileName="${logDirectory}/file1.txt"/>
    <target name="file2" xsi:type="File" fileName="${logDirectory}/file2.txt"/>
  </targets>