2016-12-12 8 views
1

現在、抽象度Castle.Core Loggingを使用するライブラリによって異なります。私はそのライブラリのドキュメントとCastle'sの両方を掘り下げてきたので、選択したロギングフレームワーク(この例ではNLog)にパイプ出力するようにログ出力をキャプチャする方法の明確な説明を見つけることができないようです。私はまた、fewpostsを掘り下げたが、このような状況には当てはまりません。Castle Core Loggingを使用してライブラリからログ出力をキャプチャする

NLogは残りのアプリケーションで正常に動作することに注意してください。内部ログにエラーは見られません。このサードパーティライブラリからの出力はありません。

私はCastle.Core NLog integrationを参照していますが、それは城に応じてライブラリで利用されるものと思われます。ライブラリに依存するものではありません。

このライブラリからのログ出力をキャプチャすることは可能ですか?それとも、私は支援のためにプロジェクトに手を差し伸べる必要がありますか?

+0

を参照してください、問題のライブラリは[TestStack.White](https://github.com/TestStack/White)です。私は体内でそれを言及していただろうが、この質問はキャッスルの記録を使ってどの図書館にも当てはまると考えた。 – ReservedDeveloper

答えて

1

ライブラリーをホストしているプロセスを所有している場合は、どのログプロバイダーを使用するかCastle.Core.Logに指示することはお客様の責任です。あなたのライブラリー(白)のために、あなたのコンテナ

を作成する際に、アプリケーションの

設定NLog、その後、あなたが上でそれを設定することのいずれかによって、ロガー工場を提供する必要があります
container.AddFacility<LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog)を呼び出すことによって、城のログプロバイダas explained in the documentationとしてNLogを登録CoreAppXmlConfigurationインスタンスを作成するか、ライブラリのApplicationオブジェクトを初期化するときに独自のサブクラスインスタンスを指定します。

は、追加のコンテキストについてhttps://github.com/TestStack/White/blob/master/src/TestStack.White/Configuration/CoreAppXmlConfiguration.cs#L53

+0

私はXML構成の手法を試しましたが、コードの設定が優先されているというメモをキャッチしませんでした。私はこれに亀裂を与えるよ! – ReservedDeveloper

+0

NLogも設定する必要があるので、不平を言っていない悪いNLog設定で終わることがあります。 'NLog.config'ファイルの' 'ルートタグで' throwExceptions = "true" 'と' internalLogLevel = "Debug"を使用してください。 –

+0

残念ながら、このプロジェクトはCastle Windsorを使用していないため、上記の容器へのアクセスはありません。そして、問題の図書館はコアのみを使用します。 – ReservedDeveloper

関連する問題