c#应用程序log4net日志文件在c++ /CLI中使用时未创建
C# application log4net log file not created when used in C++/CLI
我编写了一个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++应用程序定义一个app.config文件(不仅仅是为dll本身),并在其中包含log4net配置。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 使用std::multimap迭代器创建std::list
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 使用CMake创建QML插件
- 如何在c++中为模板函数实例创建快捷方式
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 是否可以在Linux上使用.Net Core 3.1创建C++/CLI代码的C#DLL
- 如何为要在 C# 中使用的静态库创建 C++ 或 C++/CLI 包装器
- 创建具有root访问权限的CLI应用程序
- 创建无GCNEW的C /CLI对象
- Visual C++/CLI 中的异步睡眠,如何创建一个 X 毫秒来调用函数,而不会使 GUI 也停止
- 使用所有可用字体(从C#到C++/CLI)创建组合框
- 创建静默CLI选项的最佳做法
- 在c++/cli中创建.net Excel::Application
- 动态创建变量c++ /cli . net
- c#应用程序log4net日志文件在c++ /CLI中使用时未创建
- 如何在托管CLR的本地c++应用程序中创建泛型.net类型(不使用c++ /CLI)
- 在c++ /CLI中创建c++对象列表
- 如何为非托管的c dll创建一个c++cli包装器
- 我可以从WPF UserControl创建ActiveX控件并在非CLI C++应用程序中使用吗