在C ++ / CLI中使用时未创建C#应用程序log4net日志文件

时间:2014-06-26 17:06:17

标签: c# c++ dll c++-cli log4net

我写了一个C#dll - foo.dll--它使用log4net进行日志记录。然后通过C ++ \ CLI包装器在C ++应用程序中使用该DLL。 C ++应用程序运行良好,但日志文件未创建。当我在测试C#应用程序(使用原始C#dll)中使用此dll时,创建的日志文件没有问题。

此配置在foo.dll.config中设置:

  <configSections>    
    <section name="log4net"
      type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="D:\\foo.log" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="5" />
        <maximumFileSize value="10MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %level - %message%newline" />
        </layout>
    </appender>
  </log4net>

从foo.dll.config文件中读取其他配置没有问题,并且C ++应用程序具有日志目录的写入权限。

知道我在这里失踪的是什么吗?

1 个答案:

答案 0 :(得分:2)

我重新写了我的评论作为答案。

您必须尝试为您的C ++应用程序定义app.config文件(不仅仅是dll本身),并在其上包含log4net配置。