如何通过代码获取日志文件名?

时间:2009-09-25 22:45:18

标签: c# log4net app-config

如何在代码中获取日志文件名? (所以我可以把它打印到控制台)

我的日志文件在app.config中定义如下:

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

2 个答案:

答案 0 :(得分:8)

你看看LogManager.GetAllRepositories。在存储库中,您可以查看ILoggerRepository.GetAppenders中的所有appender。如果appender的类型为RollingFileAppender,则会检查其File属性,或者如果您放弃,则可以Name检查appender。

据说在您的代码中执行此类操作非常非常。如果在部署时更改配置并且您期望的appender不再存在,该怎么办?

答案 1 :(得分:0)

请参阅此文件的属性。

Log是ILog的实例

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