Отправить вывод ELMAH через NLog - PullRequest
5 голосов
/ 15 июля 2011

В настоящее время я использую NLog для регистрации событий безопасности из моего приложения ASP.NET MVC3.

Теперь у нас есть еще одно требование добавить ошибки приложения в отдельный журнал.

Так как мы 'Я уже использую NLog (и мне нравится гибкость целей), и я хотел бы настроить Elmah для передачи ошибок в NLog для ведения журнала.

Кто-нибудь делал это и хочет поделиться?

1 Ответ

0 голосов
/ 05 сентября 2016

Тот же запрос написан для Log4Net в блоге

Я перевел его на NLog и обновил до рекомендации NLog:

public class NLogErrorLog : XmlFileErrorLog
{
    private static Logger logger = LogManager.GetLogger("elmah");

    public NLogErrorLog(IDictionary config) : base(config)
    {
    }


    public NLogErrorLog(string logPath) : base(logPath)
    {
    }

    public override string Log(Error error)
    {
        //Write whatever you want to NLog
        logger.Error(error.Exception, "Exception logged through ELMAH: " + error.Message);
        return base.Log(error);
    }
}

зарегистрироваться в web.config

<elmah>  
    <errorLog type="MyAssembly.NLogErrorLog, MyAssembly" logPath="~/App_Data" />  
</elmah>
...