2009-09-25 49 views
7

如何在代碼中獲取日誌文件名? (所以我可以把它打印到控制檯)如何通過代碼獲取日誌文件名?

我的日誌文件中的app.config像這樣定義:

<appender name="RollingLogFileAppender" 
    type="log4net.Appender.RollingFileAppender"> 
     <file value="logfile" /> 
    ... 

回答

8

你看看你LogManager.GetAllRepositories。在存儲庫內部,您可以查看ILoggerRepository.GetAppenders中的所有appender。如果appender的類型是RollingFileAppender,你可以檢查它的File屬性,或者如果你提供的話,你可以通過Name來檢查appender。

這就是說,它是不好在你的代碼中做這樣的事情。如果配置在部署時發生變化,並且您期望的appender不再存在,該怎麼辦?

+0

好吧,我可以檢查null值。怎麼樣讀取app.config? – User 2009-09-25 23:02:20

+0

請參閱http://msdn.microsoft.com/en-us/library/system.configuration.configuration.getsection.aspx上有關如何閱讀您自己的配置節的示例。不過,我會推薦它。 – 2009-09-25 23:13:14

+0

我想打印出日誌文件爲方便起見的控制檯。任何方式來做到這一點,你會建議? – User 2009-09-25 23:19:40

0

請參閱此文件的屬性。

日誌是ILOG的實例

((log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl)Log.Logger).Appenders.OfType()。FirstOrDefault()。文件

相關問題