【问题标题】:Log4Net Retrieve Appenders ProgrammaticallyLog4Net 以编程方式检索 Appender
【发布时间】:2014-02-07 00:52:31
【问题描述】:

我有一个单独的 Log4Net.config 文件,其中包含 2 个附加程序和 2 个记录器,每个附加程序有 1 个记录器。没有<Root /> 记录器。

我正在尝试向我的应用程序添加代码,该代码将检索记录器的文件名,以允许用户从应用程序菜单选择中查看每个附加程序的日志文件。我已经尝试了下面的代码,但它没有返回任何附加程序。我错过了什么?

我还应该提到我正在使用 slf4net.log4net 外观

log4net.Repository.ILoggerRepository repo = LogManager.GetRepository();

foreach (log4net.Appender.IAppender appender in repo.GetAppenders())
{
    string x = appender.Name;
}

【问题讨论】:

  • 你先打电话给XmlConfigurator.Configure()了吗?这对我有用。
  • 调用 XmlConfigurator.Configure() 导致记录器返回错误,“无法在应用程序 .config 文件中找到配置部分 log4net。我还应该提到我正在使用 slf4net.log4net门面。将节点添加到配置没有帮助。它仍然返回错误。
  • 还要注意我在 AssemblyInfo.cs 中有 [assembly: log4net.Config.XmlConfigurator(Watch=true)]

标签: c#-4.0 log4net log4net-configuration log4net-appender slf4net


【解决方案1】:

我在这篇帖子log4Net config in external file does not work 中找到了答案。将 ConfigFile 名称添加到 assemblyinfo 条目后,它开始工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 2011-08-31
    • 2011-04-17
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多