【问题标题】:Configuring log4net in a VSTO在 VSTO 中配置 log4net
【发布时间】:2010-09-10 23:20:03
【问题描述】:

我已将 VSTO Excel 加载项设置为使用 log4net 进行日志记录。不幸的是,我(似乎)无法从 app.config(我通过 ClickOnce 与加载项一起提供)对其进行自我配置。

我已阅读http://www.darinhiggins.com/?p=13,其中列出了一些获取 app.config 文件名然后配置 log4net 的方法

log4net.Config.XmlConfigurator.Configure(fileInfo)

然而,这个博客列出的方法对我来说似乎很容易出错(它们“闻起来很糟糕”)。

类似的东西

ConfigurationManager.GetSection

让我相信 .NET 框架确切地知道从哪里获取文件,并且必须有一种方法可以从框架中检索这些信息,而不必自己弄清楚。但是,XmlConfigurator 又只接受文件名、流或 xml 节点...

(为什么我认为它目前不起作用:我已将其配置为使用文件名为 H:\Data\Debug.log 的 RollingFileAppender,但在 GetLogger(...).Debug(...) 之后,仍然没有Debug.log 就位...)。我已经在其他地方使用了完全相同的配置,成功了。

【问题讨论】:

    标签: c# excel vsto log4net app-config


    【解决方案1】:

    XmlConfigurator.Configure(); 使用 app.config 文件。这应该可以工作,因为 ConfigurationManager 似乎能够读取配置文件。

    【讨论】:

    • 引用的博客指出:“......但不幸的是,由于您的 VSTO 插件是一个 DLL,log4net 默认情况下会查看当前的 app.config 文件,如果您正在运行例如,在 Word 中,将是 WinWord.exe 所在文件夹中的 WinWord.exe.config。” - 我希望它使用我通过 ClickOnce 交付的 app.config...
    • 我错了!这个资源似乎完全错了??我已将您的那一行代码添加到我的插件启动方法中,现在它可以正常工作了! (如果可能的话,我很想对自己的问题投反对票……)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多