在MVC4中使用Elmah和NLog

时间:2014-03-28 08:15:13

标签: c# asp.net-mvc-4 elmah nlog

我在我的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记录异常,如何配置它们?

1 个答案:

答案 0 :(得分:2)

我决定将此作为答案发布,因为评论中不清楚:

The NLog Documentation说明如何构建web.config(或使用单独的配置文件)

您需要在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>