【问题标题】:log4net compact framework 3.5 No app.config to add file appenderslog4net compact framework 3.5 没有 app.config 来添加文件 appenders
【发布时间】:2009-06-09 06:18:23
【问题描述】:

我正在 windows mobile 6 上使用 CF 3.5 VS 2008 开发 log4net。

我以前在我的windows xp应用程序中使用过log4net,我总是将配置放在app.config文件中。

不过,这是我第一次将 log4net 与 CF3.5 一起使用。而且我注意到没有 app.config 文件,当我尝试添加一个新项目时,没有一个模板。我在这里遗漏了什么吗?

如果 3.5 没有 app.config 文件。我可以将 log4net 配置放在哪里?我想使用文件 appender 进行 log4net 并将日志保存在执行应用程序的目录中。

非常感谢您的任何建议,

【问题讨论】:

    标签: c# log4net


    【解决方案1】:

    Compact 框架不支持 app.config 文件,但您可以模拟此类行为。

    使用设置创建一个 xml,然后读取该文件的内容。

    我发现这个解决方法对我有用:

    http://www.eggheadcafe.com/articles/dotnetcompactframework_app_config.asp

    【讨论】:

      【解决方案2】:

      这个反应有点晚了,可能你已经解决了。 但是可能还有其他一些用户有同样的问题。

      您还可以使用 XmlConfiguratorAttribute 指定要使用不同的配置文件。见here。 例如,您可以在 bin 目录中的“log4net.config”中指定 log4net-configuration,并添加到 assemblyInfo.cs:

      [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config",Watch=true)]
      

      【讨论】:

        【解决方案3】:

        Ruben,这不起作用,因为 XmlConfiguratorAttribute 不能从 log4net 到紧凑框架。

        相反,您可以使用 XmlConfigurator.Configure("filename.config")filename.config 替换为 log4net 配置文件的路径。

        我已将它放在我的移动应用程序的 Windows 应用程序的主程序类中。

        拥抱 :)

        【讨论】:

        • @diogo-paschoal。不要忘记在退出您的应用程序之前致电LogManager.Shutdown()。见this