有没有办法将 log4net 用作 Kentor Authservices Logger?文档指出“将 ILoggerAdapter 连接到您的 SPOptions.Logger。如果您使用的是 OWIN 中间件,这会自动为您完成,您可以在 OWIN/Katana 日志记录中看到输出。”,但我真的不明白是什么它的意思是。
问问题
751 次
1 回答
7
您将在 log4net 记录器和 Kentor.AuthServices 记录器之间编写一个适配器,如下所示:
public class log4netLoggerAdapter : Kentor.AuthServices.ILoggerAdapter
{
private log4net.ILog _logger;
public log4netLoggerAdapter(log4net.ILog logger)
{
_logger = logger;
}
public void WriteError(string message, Exception ex)
{
_logger.Error(message, ex);
}
public void WriteInformation(string message)
{
_logger.Info(message);
}
public void WriteVerbose(string message)
{
_logger.Debug(message);
}
}
然后将其实例分配给您的 AuthServices Options.SPOptions.Logger
。例如,在SampleMVCApplication Global.asax.cs中,添加一行Application_Start
:
Kentor.AuthServices.Mvc.AuthServicesController.Options.SPOptions.Logger =
new log4netLoggerAdapter(log4net.LogManager.GetLogger("AuthServices"));
最后一部分当然会有所不同,具体取决于您使用的模块以及加载配置的方式,但关键是将 an 分配ILoggerAdapter
给您的SPOptions.Logger
于 2017-07-26T19:34:22.417 回答