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