3

log4netにログを記録するが、Nhibernateも使用するアプリケーションがあります。私のアプリは、Nhibernate(Fluent Nhibernate configを使用)とlog4Net(BasicConfiguratorを使用)の両方をプログラムで構成します

問題は、ログがNhibernateのログ情報でいっぱいであり、99.9%の時間は必要なく、Nhibernateからの完全なログが原因でアプリの速度が低下することです。

プログラムですべてのNhibernateロガーを無視するようにロギングまたはlog4Netを実行しないようにNihbernateを構成するにはどうすればよいですか?xml構成ファイルを使用してそれを実行できることは知っていますが、これは私にとってのオプションではありません

どんな助けでも大歓迎です。

4

1 に答える 1

7

Log4Net:プログラムで複数のロガー(複数のファイルアペンダーを使用)を指定し、これを盗んだ場所を参照してください。

public static void SetLevel(string loggerName, string levelName)
{
    ILog log = LogManager.GetLogger(loggerName);
    Logger l = (Logger)log.Logger;

    l.Level = l.Hierarchy.LevelMap[levelName];
}


SetLevel("NHibernate","Error");
于 2011-04-18T09:44:19.677 に答える