2014-06-26 63 views
1

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

此配置设置在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

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

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