如何在ASP.NET中实现OWIN Ilogger?

时间:2016-03-04 19:49:24

标签: c# asp.net logging owin

我正在尝试执行一些简单的日志记录并编写有关Web应用程序中可能发生的错误的跟踪信息。以下是一些示例代码:

public class NewLogger : Ilogger
{

}

我可能缺少对接口的一些理解,所以如果我能得到一个简短的解释如何实现这个接口,这样我就可以编写一个有用的跟踪!

我收到如下错误:

错误1'NewLogger'未实现接口成员'Microsoft.Owin.Logging.ILogger.WriteCore(System.Diagnostics.TraceEventType,int,object,System.Exception,System.Func)'

我试图实现这个但是我无法找到使用WriteCore方法所需的值,我相信我需要它。

1 个答案:

答案 0 :(得分:1)

您需要在NewLogger类上为WriteCore方法实现一个实现(如错误消息所述)。像这样:

public class NewLogger : ILogger
{
    public bool WriteCore(TraceEventType eventType, int eventId, object state,
        Exception exception, Func<object, Exception, string> formatter)
    {
        if (eventType == TraceEventType.Critical)
        {
            Debug.Fail("We have a critical error " + exception);
        }
        //etc for other eventtypes

        return true;
    }
}

但是,我认为你不应该在你的情况下制作一个自定义记录器,而是使用现有的实现,比如NLog:http://k16c.eu/2014/12/27/using-nlog-owin-logger/