Jos*_*osh 3 nhibernate logging unit-testing
我正在针对nHibernate应用程序在VS2008内部运行单元测试,并且希望在单元测试期间打开日志记录,这样我就可以看到更多的内容.我已经复制并粘贴了另一个应用程序的app.config,它成功地将nhibernate信息记录到单元测试app.config中,但仍然没有得到任何输出.
这是测试项目的app.config:
<log4net>
<appender name="NHibernateFileLog" type="log4net.Appender.RollingFileAppender">
<file value="Logs/nhibernate.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
<file value="Logs/general.txt" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="DataLog" type="log4net.Appender.RollingFileAppender">
<file value="Logs/data.txt" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
<!-- levels: DEBUG, INFO, WARN, ERROR, FATAL -->
<root>
<level value="DEBUG"/>
<appender-ref ref="GeneralLog" />
</root>
<logger name="NHibernate" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="NHibernateFileLog"/>
</logger>
<logger name="Pushable.Data" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="DataLog"/>
</logger>
</log4net>
Run Code Online (Sandbox Code Playgroud)
当我运行测试项目时,没有从log4net创建任何输出.运行log4net的应用程序必须是Web或Windows而不是测试应用程序吗?
在Test初始化程序中,需要有一个调用:
log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
这将使日志记录正常.