2

有没有办法使用log4net作为Kentor Authservices Logger?文档指出:“将一个ILoggerAdapter连接到你的SPOptions.Logger。如果你使用的是OWIN中间件,这会自动完成,你可以在OWIN/Katana日志中看到输出结果。”,但我不明白这是什么它的意思是。Kentor authservices和log4net

回答

2

你会写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")); 

最后这部分当然会有所不同取决于你使用的是和你如何加载配置的模块,但关键是分配

+0

这真棒。应该自己想清楚了。谢谢。 – dmitreyg