皆さん、
ここにある指示に従って、NServiceBus ロギングが正しく機能するようになりました: http://docs.particular.net/nservicebus/logging/
ただし、Common.Logging を使用しています。Common.Logging に LogManager を使用すると、ログが記録されません。
log4net に LogManager を使用すると、すべて正常に動作します。
誰でもここで何か洞察がありますか?
皆さん、
ここにある指示に従って、NServiceBus ロギングが正しく機能するようになりました: http://docs.particular.net/nservicebus/logging/
ただし、Common.Logging を使用しています。Common.Logging に LogManager を使用すると、ログが記録されません。
log4net に LogManager を使用すると、すべて正常に動作します。
誰でもここで何か洞察がありますか?
私はこれを理解しました。(構成ファイルで) 宣言的にではなく、プログラムで Common.Logging を設定する必要がありました。
基本的に、流暢なバス構成を行う前に、次の行を追加しました。
LogManager.Adapter = new Log4NetLoggerFactoryAdapter(new NameValueCollection { { "configType", "INLINE" } });
SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure);
そして、私のバスログセクションは次のようになります:
.Log4Net<ColoredConsoleAppender>(cca =>
{
cca.Layout = patternLayout;
})
.Log4Net<RollingFileAppender>(fa =>
{
fa.File = "log/handler.log";
fa.AppendToFile = true;
fa.RollingStyle = RollingFileAppender.RollingMode.Size;
fa.MaxSizeRollBackups = 5;
fa.MaximumFileSize = "1000KB";
fa.StaticLogFileName = true;
fa.Layout = patternLayout;
})
これにより、構成ファイルにログレベルをロードできますが、Udi が提案するようにコードにアペンダー構成を残すことができます (これは素晴らしいアイデアだと思います)。
nServiceBus の組み込みのログ レベルを使用できることはわかっていますが、nHibernate のログを無視して nServiceBus のログをすべて取得できるように、それを細かく制御する方法がわかりませんでした。
私が行ったことについてさらにガイダンスが必要な場合は、ここにコメントしてください。または、nServiceBus のログ レベルを使用してきめ細かい制御を行う方法を知っている場合は、それもお知らせください。
Common.Logging は、NServiceBus の内部目的のために log4net からの抽象化として機能します。