2011-03-24 12 views
3

私は、次の流暢NHibernateの設定があります:私は.Diagnostics(X => x.Enable(偽))ロギングを妨げることを理解していたが、私はまだ全体のDEBUG、INFO、ERRORを取得していますなぜこのFluent NHibernate Configurationはすべてのレベルをlog4netにログ記録しますか?

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; 
     } 

を、致命的なレベルは私のlog4netアペンダーに記録されます。

何か指針や助けをいただければ幸いです。

おかげ

答えて

5

私の理解では、診断方法は、流暢NHibernateはのログレベルを制御し、ないNHibernateはの。 NHibernateのlog4netログレベルは、あなたの設定ファイルに設定する必要があります:

<log4net> 
    <root> 
     <appender-ref ref="SqlServerAppender" /> 
     <level value="ERROR" /> 
    </root> 
    <logger name="NHibernate"> 
     <level value="ERROR" /> 
    </logger> 
    <!-- etc --> 
</log4net> 
+1

こんにちはジェイミー、ありがとう。 log4netを使ってプログラムでこの設定を調整する方法はありますか?私はすべてのNhibernateロガーのためにそれを設定することはできません – Richard

関連する問題