我有 Log4net 在我的 Web 应用程序上工作,但是当我尝试运行我的单元测试时,我无法让日志记录工作。
在我的 UnitTest 项目中,我的 AssembyInfo.cs 具有以下内容:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
我的 UnitTest 项目中有一个 log4net.config 文件:
<?xml version="1.0"?>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="./SmvServiceTest.log" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<rollingStyle value="Size" />
<maximumFileSize value="2MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
我将此文件设置为Copy to Output directory。然而,当我运行我的单元测试时,他们遇到了很多日志语句,但没有创建日志文件。
我想我已经正确设置了它,单元测试有什么特别之处吗?我只是不明白为什么它不起作用。
任何帮助,将不胜感激!
更新:
我想我已经找到了问题的原因。我去了运行测试的临时位置,发现log4net.config实际上不存在。我不知道为什么它没有被复制过来,复制到输出目录在文件属性中设置为 true。