我有以下Fluent Nhibernate配置:
public ISessionSource CreateSessionSource()
{
var config = Fluently.Configure()
.Database(MsSqlCeConfiguration
.Standard
.ConnectionString(connectionString)
.DoNot.ShowSql()
.UseOuterJoin()
.UseReflectionOptimizer())
.Mappings(GetMappings)
.Diagnostics(x => x.Enable(false))
.ExposeConfiguration(ExposeConfiguration);
Factory.RegisterSingleton(config);
var source = new SessionSource(config);
return source;
}
我已经明白.Diagnostics(x => x.Enable(false))会阻止日志记录,但我仍然会将整个DEBUG,INFO,ERROR,FATAL级别记录到我的log4net appenders。
任何指示或帮助都将不胜感激。
由于
答案 0 :(得分:5)
据我了解,Diagnostics方法控制Fluent NHibernate的日志记录级别,而不是NHibernate。应该在配置文件中设置NHibernate的log4net日志记录级别:
<log4net>
<root>
<appender-ref ref="SqlServerAppender" />
<level value="ERROR" />
</root>
<logger name="NHibernate">
<level value="ERROR" />
</logger>
<!-- etc -->
</log4net>