最近测试了一个使用 log4net(.NET) 的日志项目,它是一个控制台项目。如果在VS中运行项目可以创建日志文件,但如果在NUnit中运行.exe文件则无法创建日志文件。日志内容只是在 UNnit GUI 中打印出来。没有错误引发。为什么?我在 App.config 中配置 log4net。
我需要使用 Nunit 来测试这个案例。
我用谷歌搜索,没有答案。
我在 App.config 中的配置文件如下:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="WARN">
</level>
<appender-ref ref="SystemLogFileAppender" />
</root>
<appender name="SystemLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="d:\" type="" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd_SYS.TXT" />
<param name="StaticLogFileName" value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<Encoding value="UTF-8" />
<layout type="Log.LogLayout">
<param name="ConversionPattern" value=" Level: %property{Level}%n Message: %property {Message}%n Exception: %property{Exception}%n CreateDate: %property{CreateDate}%n%n" />
</layout>
<filter type="Log.SystemLogFilter">
</filter>
</appender>
我在项目的 AssemblyInfo.cs 中添加了以下代码,但不起作用:
[assembly: log4net.Config.XmlConfigurator()]
然后,我将其更改为以下,不再工作:
[assembly: log4net.Config.XmlConfigurator(ConfigFile=@"D:\LogTest\FrameworkTest.exe.config",Watch=true)]