問題タブ [common.logging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 特定の種類のログ ターゲットに関する Common.Logging メタデータ
Common.Logging を使用して、2 つの異なる機能を実行したいと考えています。
標準のログ記録 (これは現時点でこれらの状況下で発生しました)... これは特定のテーブルに記録されます。対象を絞ったログ (このワークフロー コンポーネントは、これらの種類のイベントを経験しました)... これは、関連付けられたメタデータと共に別のテーブルに入ります。
標準ログの設定は簡単ですが、2 番目のタイプ (ワークフロー ID、ステップ番号など) に関連付けられたメタデータが必要です。NLog では、GlobalDiagnosticsContext
メソッドでそれを渡します。Common.Logging にも同様のものが存在する必要があると考えていますが、Common.Logging でメタデータをキャプチャしてレンダリングする情報を渡す方法がわかりませんLoggerFactoryAdapter
。
これを行うメカニズムはありますか、それともサポートされていませんか?
c# - Common.Logging "void Error( object message, Exception exception );" 「例外」をログに記録しない
NLog アダプターで Common.Logging を使用しています。
http://netcommon.sourceforge.net/docs/1.2.0/reference/html/logging.html
私はこのメソッドを呼び出しています:
「メッセージ」のテキストはログ (txt ファイルと EventLog) に表示されますが、例外に関する詳細は表示されません。ex.Messageでさえありません。
何か不足していますか?
例外に関する詳細を表示するにはどうすればよいですか。「オブジェクトメッセージ」に追加する必要がありますか? オーバーロードされたメソッドに例外があると思いますが、自動ロギングがあると思いました。
私の NLog.config はかなり単純です。
編集:
わかりました... Sergeyの回答に基づいて、セットアップを強化しました:
nuget - タイプ 'Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter' を読み込めませんでした
の nuget パッケージを更新しましたCommon.Logging.Log4Net
。それ以来、次のエラーが発生し続けます。
タイプ 'Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter' をアセンブリ 'Common.Logging、Version=2.2.0.0、Culture=neutral、PublicKeyToken=af08829b84f0328e' から読み込めませんでした
リンクされている各 nuget パッケージとCommon.Logging
バージョンのリストを次に示します。
- Common.Logging - 2.2.0
- Common.Logging.Core - 2.2.0
- Common.Logging.Log4Net - 2.0.1
私のweb.configには、次のビットがあります。
どうすればこれを修正できますか?
私は変更しようとしました:
に (Common.Logging.Log4net.dll [201] の追加バージョン)
そしてそれはうまくいきませんでした。
vb.net - Nlog への Quartz Net Scheduler ログインのリダイレクト
次のシナリオがあります。
- 自己ホスト型 Quartz スケジューラ サービスを実行する Windows サービス。
- Quartz Scheduler Service によってトリガーされたときに実行される「ジョブ」である多くのクラスを含むクラス ライブラリがあります。
- そのジョブのアクティビティを特定のフォルダーとファイルに記録するように、各「ジョブ」クラスで NLog を構成しました。これにより、各「ジョブ」のすべてのログを論理的に分離でき、xml 構成ファイルを使用して実行時に個々の「ジョブ」のログをオンまたはオフにすることができます。
- 起動情報をスケジューラ ログに記録するように Quartz スケジューラを設定しました。
これはすべて問題なく動作しています。
ここでやりたいことは、Quartz Scheduler のデフォルトの情報出力を別の別の NLog ログに記録することですが、Quartz で使用される一般的なログ フレームワークから、これを NLog に「パイプ」する方法がわかりません。ロギング構成はすべてプログラムによって行われるため、実行時に個々の「ジョブ」ログごとにロギングのオンとオフを切り替えることができます。
これが私のNLog構成の縮小版です-
これをスケジューラクラスで宣言しましたが、
Quartz Scheduler の起動プロセスで、このコードを実行するメソッドを呼び出します。
このようにQuartz Schedulerを設定していますが、
次に、その特定のログ ファイルに次のように書き込むことができます。
これは奇妙に思えるかもしれませんが、このすべての背後にある理由は、ジョブが完了すると、そのジョブの次のトリガー時刻をその特定のジョブ ログに書き込みますが、スケジューラーでトリガー時刻を変更すると、その記録がどこにもないためです。変更すると、そのジョブのトリガーが時間どおりに起動されなかったように見えます-理想的には、Quartz Scheduler の出力を新しいスケジュールで読み取ったときにログに記録したいのですが、それは飛躍しすぎていると思います.
私の計画 B、これが不可能な場合は、ジョブを 60 秒ごとに実行するように構成し、現在のスケジューラ設定をログに記録することです。プランAを機能させることが可能である場合、私にはその仕事を完了するための知識とスキルがありません.
log4net - Couchbase ロギングの問題
(NuGetを介して)最新バージョンに更新すると、Couchbaseに奇妙な問題が発生します。
私の MVC Web アプリは、log4net を使用して Unity コンテナーからロードします。
突然、Couchbase Cluster コンストラクターが次のような例外をスローし始めました。
スタックトレース:
何か案が?どうすればこの問題を解決できますか?
c# - Common.Logging - より多くの Ilog インスタンス
私はWindowsサービスを開発しています。commong.logging と log4net を使用しています。app.config を適切に構成し、アプリケーション イベントと例外をログ ファイルに記録しています。今、私は新しい要件を持っています。すべての顧客は、顧客ディレクトリに独自のログ ファイルを必要とします。また、現在行っているように、グローバル ログ ファイルを使用したいと考えています。
この構成をセットアップするにはどうすればよいですか? app.config でグローバル ロギング構成が必要だと思います (現在のように)。ILog インスタンスは顧客クラスのメンバーである必要があり、コードで設定する必要がありますか?