我在mvc4應用程序中使用log4net(用於學術目的)。我在Application_Start()
方法中調用global.asax這種方法。如何在實例化後找到log4net實例?
log4net.Config.XmlConfigurator.Configure();
然後在我的應用程序的任何控制,我可以調用這個方法:
ILog _logger = LogManager.GetLogger(typeof(T));
問題是,當我打電話的Application_Start()
方法Configure()
方法,因爲,但我沒有存儲參考在任何變量中,GetLogger()
方法如何知道在哪裏查找,更確切地說它在哪裏找到log4net實例?
就我個人而言,我無法想象它的路徑(除非我知道它的內存位置,它可能會被加載)。
單例模式把它清理了一下。所以GetLogger方法只是返回靜態Log4Net對象。這意味着只要已創建(使用靜態構造函數),就可以訪問任何靜態對象。即使它尚未創建,它會在第一次訪問時創建,對嗎? – Freeman 2013-03-11 15:20:46
正確。記錄器在第一次訪問時創建。 – dgvid 2013-03-11 15:28:11