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

本文关键字:创建 CLI log4net 应用程序 日志 文件 c++ | 更新日期: 2023-09-27 18:10:22

我编写了一个c# dll - foo.dll -使用log4net进行日志记录。dll然后通过c++ 'CLI包装器在c++应用程序中使用。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++应用程序对日志目录有写权限。

你知道我错过了什么吗?

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

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

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