我正在尝试使用NUnit & ReSharper从单元测试项目中捕获NHibernate日志记录信息。测试项目被配置为类库,并且它有自己的App.Config文件。我知道App.Config文件是正确的,因为如果我在控制台应用程序中使用它,我会看到所有的NHibernate日志记录。当将此App.Config文件放入单元测试项目中时,Log4Net会神秘地停止工作。
我还尝试了在测试项目本身中初始化Log4Net。我已经尝试在AssemblyInfo.cs文件中添加[assembly: log4net.Config.XmlConfigurator()]
。我也试过打电话给你...
[SetUp]
public void Setup()
{
log4net.Config.XmlConfigurator.Configure();
}
...in测试夹具。毫无办法。任何想法都将不胜感激。
发布于 2011-01-06 01:07:09
我想通了。
好的,第一个问题是,因为我在Win7下写入的目录不可访问,所以Log4Net正在悄悄地失败。我将调试附加器中的目录更改为.\nhibernate.log,这会将其写入默认的Log4Net目录。
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<file value=".\nhibernate.log"/>
<appendToFile value="true"/>
<maximumFileSize value="100KB"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="5"/>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n"/>
</layout>
</appender>
另外,我仍然需要在测试夹具中初始化Log4Net,如下所示。
[SetUp]
public void Setup()
{
log4net.Config.XmlConfigurator.Configure();
}
发布于 2011-01-06 01:56:40
我只使用log4net.Config.BasicConfigurator.Configure();
,它会登录到控制台。不需要其他配置或文件。
https://stackoverflow.com/questions/4606663
复制相似问题