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

C# 如何在ASP.NET中实现OWIN Ilogger?,c#,asp.net,logging,owin,C#,Asp.net,Logging,Owin,我只是尝试做一些简单的日志记录,并编写有关web应用程序中可能发生的错误的跟踪信息。下面是一些示例代码: public class NewLogger : Ilogger { } 我可能对接口缺少一些了解,所以如果我能得到一个关于如何实现这个接口的简要解释,这样我就可以写一个跟踪,这将是非常有帮助的 我得到如下错误: 错误1“NewLogger”未实现接口成员“Microsoft.Owin.Logging.ILogger.WriteCore(System.Diagnostics.TraceE

我只是尝试做一些简单的日志记录,并编写有关web应用程序中可能发生的错误的跟踪信息。下面是一些示例代码:

public class NewLogger : Ilogger
{

}
我可能对接口缺少一些了解,所以如果我能得到一个关于如何实现这个接口的简要解释,这样我就可以写一个跟踪,这将是非常有帮助的

我得到如下错误:

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


我已经尝试实现了这一点,但是我无法找到使用WriteCore方法所需的值,我相信我需要这个方法

您需要在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;
    }
}
公共类NewLogger:ILogger
{
public bool WriteCore(TraceEventType eventType、int eventId、对象状态、,
异常(函数格式化程序异常)
{
if(eventType==TraceEventType.Critical)
{
Debug.Fail(“我们有一个严重错误”+异常);
}
//其他事件类型的等
返回true;
}
}
但是,我认为您不应该在您的情况下创建自定义记录器,而应该使用现有的实现,例如NLog的实现:

我已经尝试过实现这个,但是您的代码没有显示出来。