【发布时间】:2009-11-02 16:31:36
【问题描述】:
我正在尝试使用 Fluent NHibernate 和 log4net 在我的应用程序上启用日志记录。我已经尝试过here、here、here 和here 描述的内容。正在创建日志文件,但没有写入任何内容。这个和其他应用程序的其他日志文件都可以正常工作,所以我假设问题出在我的配置上。
这是我为使其正常工作而设置的代码:
配置文件的部分,其中包含我与此 APP 相关的所有 log4net 设置:
<appender name="RollingFileAppenderNHibernate"
type="log4net.Appender.RollingFileAppender">
<file value="C:\temp\RollingLogFileNHibernate" />
<appendToFile value="true" />
<ImmediateFlush value="true" />
<rollingStyle value="Date" />
<DatePattern value="yyyyMMdd.\l\o\g" />
<StaticLogFileName value="false" />
<MaxSizeRollBackups value="1" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<logger name="NHibernate.SQL"
additivity="false">
<level value="ALL"/>
<appender-ref ref="RollingFileAppenderNHibernate"/>
</logger>
我的 NHibernate 配置:
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(OracleClientConfiguration.Oracle10
.ConnectionString((conn =>
conn.FromConnectionStringWithKey("APPDB")))
.ShowSql())
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<{ObjectName}>())
.BuildSessionFactory();
}
在我的 Global.asax.cs 的 Application_Start() 中:
log4net.Config.XmlConfigurator.Configure();
我尝试了这些设置的几种不同变体,但结果始终相同,一个空的日志文件。
【问题讨论】:
-
这真的是您的全部配置吗?如果没有
和 元素,它肯定无法工作。 -
不,这不是我的全部配置,而是与这个APP相关的部分。我更新了这个问题,让这个事实更加清楚。
标签: nhibernate fluent-nhibernate log4net