問題タブ [log4net]
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.
logging - ユーティリティ クラスでヘルパー メソッドを取得して、log4net で呼び出し元のロガーを使用するにはどうすればよいですか?
提供されたコマンドラインスイッチに応じて、次のような実行可能ファイルがあります。
Program.cs -
SummaryDiskSpaceReporter.cs
DetailedDiskSpaceReporter.cs
Helpers.cs
私の log4net 構成では、ログ要件が異なるため、SummaryDiskSpaceReporter と DetailedDiskSpaceReporter のそれぞれに 1 つずつ、2 つの個別のロガーがあります。
SummaryDiskSpaceReporter と DetailedDiskSpaceReporter はどちらも、Helpers というクラスのヘルパー メソッドを呼び出します。ヘルパー クラスのメソッドにログを記録したいと考えています。
それで...問題は、 Helpers.CreateMessage() メソッドが呼び出し元と同じロガーを使用するようにするにはどうすればよいですか?
すなわち
SummaryDiskSpaceReporter.Run() -> DiskSpaceReporting.SummaryDiskSpaceReporter ロガーを使用します DetailedDiskSpaceReporter.Run() -> DiskSpaceReporting.DetailedDiskSpaceReporter ロガーを使用します。
乾杯ケブ
.net - アプリケーション内でのログの量と多すぎる量は?
アプリケーション内でどれだけの人がログに記録しているのか?
私はこれを見ました:
「私は通常、アプリケーションによってキャッチされた例外をログに記録するために ERROR ログ レベルを使用するのが好きです。メソッドを開始または終了するたびに表示する「第 1 レベル」のデバッグ スキームとして INFO ログ レベルを使用します。そこから使用します。詳細情報を追跡するための DEBUG ログ レベル。FATAL ログ レベルは、Web ベースのアプリケーションでキャッチできなかったすべての例外に使用されます。」
このコードサンプルが含まれていました:
しかし、これは方法に多くを追加しているようです。たとえば、通常はおそらく 7 行のコードであるクラスが、突然 12 行のコードになります。この方法はまた、その明快さと単純さの一部を失います。
しかし、ロギングを適切に行うことの利点は良いと言えます。たとえば、実稼働システムでのパフォーマンス監視、実稼働での異常なバグの追跡 (このすべてのログを常にオンにしているわけではありません。
したがって、私は人々が何をしているのか疑問に思っています。乾杯アンソニー
log4net - log4netオープンデータベース接続
AdoNetAppenderを使用してSQLServer2005データベーステーブルに書き込みます。エントリがすぐに書き込まれるように、bufferSizeを1に設定しています。
私のDBAは、log4netがデータベース接続を開いたままにしていることを懸念しています。現在、データベースへの接続は最大50ですが、ログエントリは22のみです。場合によっては、ログイン時間が異なる同じクライアントからの複数の接続があります。
接続プールが機能していないか、コードでリリースしていないリソースがあるように思われます。これをどのようにトラブルシューティングする必要がありますか?
log4net - log4net の SmtpPickupDirAppender で IIS ピックアップ ディレクトリを使用するにはどうすればよいですか?
私が展開するライブサーバーの性質上、私のメール設定は deliveryMethod="PickupDirectoryFromIis" を使用しています。log4net を使用して電子メールでログを送信していますが、同じことを行う方法を見つける必要があります。
ドキュメントから、pickupDir 設定を持つ SmtpPickupDirAppender があることがわかります。これを IIS が使用するピックアップ ディレクトリに設定すると、すべてが正常に機能するはずです。しかし、私が本当に望んでいるのは、log4net に IIS の設定を使用してそこに残すように指示することです。そうすれば、変更があったとしても、忘れがちな log4net 構成も変更する必要がなくなります。これを行う方法はありますか?
xml - log4netでRollingFileAppenderを日付とサイズでロールするように設定するにはどうすればよいですか?
複合 RollingFileAppender を使用するように log4net を構成して、現在のファイルが常にlogfile.logという名前になり、後続のすべてのファイルがlogfile-YYYY.MM.dd.seq.logという名前になるようにします。ここで、seqは、ログが特定のサイズを超えた場合のシーケンス番号です。 1日以内に。残念ながら、私はそのようなセットアップの構成にほとんど成功していません。
編集:
現在の構成を以下に貼り付けます。いくつかの回答に基づいて更新されているため、私のニーズに十分に近づくことができます。これにより、次の形式のファイルが生成されます: logfile_YYYY.MM.dd.log.seq
1つの興味深いメモ、設定
true に設定すると、ロガーはファイルを書き込みません。
unit-testing - モック オブジェクト、nUnit、通話ログ、log4net
単体テストの非常によくあるシナリオは次のとおりです。
...呼び出しログに文字列を追加するだけで IFoo インターフェイスを実装する MockFoo を使用します。モックで callLog を使用して多くのコードを処理する必要があります。
log4net を使用して通話ログを収集することは良い考えですか?
.net - Log4Net またはロギング アプリケーション ブロック
アプリケーションにロギング フレームワークが必要です。Log4Net と Logging from Application Block の 2 つの候補があります。どちらが良いですか?それらのいずれかに特定の利点はありますか?
ありがとう
.net-2.0 - Windows サービスで Log4Net の実行速度が非常に遅いのはなぜですか?
log4net を使用する Windows サービスがあります。問題のサービスの実行速度が非常に遅いことに気付き、デバッガーをアタッチしてステップスルーしました。log4net を介してログにエントリを書き込もうとするたびに、次のコード行が実行されるまでに 10 ~ 30 秒かかるようです。明らかにこれは加算されます...
サービスは 2.0 .net です。log4Net 1.2.0.30714 を使用しています。Vista を実行しているマシンと Windows Server 2003 を実行しているマシンでこれをテストしたところ、同じまたは類似の結果が得られました。
.net - リリースと共に log4net を配布する必要がありますか?
依存関係とリリースの方法に関しては、何がベストプラクティスなのか疑問に思っています。私の場合、log4net に依存するライブラリがあり、リリースと共に log4net.dll (log4net 参照をローカルにコピーするように設定) を配布する必要があるかどうか疑問に思っています。
log4net を GAC にインストールする必要があると簡単に言えますか?
asp.net - log4net - Web アプリケーション ユーザーごとにログ ファイルを作成したい
Asp.Net Web アプリケーションで log4net (nLog を置き換える) を使用しています。nLog には、ユーザーごとにログ ファイルを作成できる便利な機能がありました。これは、ログ ステートメントの整理と検索に役立ちます。
log4netでこれを行う方法について誰かアイデアがありますか?