4

当我登录我的开发环境时没有问题,但是当我使用 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 但我如何告诉它在哪里可以找到它?

4

2 回答 2

3

问题是安装 dll 后 log4net 在运行时找不到配置文件。由这里的建议修复。最后,我的解决方案如下所示:

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

感谢您的所有意见!

于 2013-11-14T10:36:34.223 回答
0

app.config工程文件编译后变成application.exe.config文件。也许您没有使用安装程序部署它?

于 2013-11-14T09:17:14.360 回答