使用Windows安装程序部署项目时,log4net不会生成日志文件

时间:2013-11-14 09:13:37

标签: c# visual-studio-2010 log4net

当我登录我的开发环境时没有问题但是当我使用Windows安装程序部署时,没有生成日志文件:

<log4net>
    <root>
      <level value="ALL"/>
      <appender-ref ref="LogFileAppender"/>
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <param name="File" value="C:\Logs\log-file.txt"/>
      <param name="AppendToFile" value="true"/>
      <rollingStyle value="Size"/>
      <maxSizeRollBackups value="10"/>
      <maximumFileSize value="10MB"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%C{1}.%M] - %message%newline"/>
      </layout>
    </appender>
  </log4net>

我看到它可能找不到app.config但我怎么告诉它在哪里找到它?

2 个答案:

答案 0 :(得分:3)

问题是在安装dll后,log4net无法在运行时找到配置文件。通过建议here修正。最后,我的解决方案看起来像这样:

FileInfo fi = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Assembly.dll.config");
log4net.Config.XmlConfigurator.Configure(fi);
_log.Info("Hello logging...");

感谢您的所有投入!

答案 1 :(得分:0)

编译后,app.config项目文件将转为application.exe.config文件。也许您没有使用安装程序部署它?