問題タブ [fileappender]

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.

0 投票する
2 に答える
670 参照

java - log4j:ログステートメントを出力するAppender

こんにちはサー:サーバーが起動すると、ログファイルは出力ステートメントを出力します。ログファイルを自分のファイルに出力するにはどうすればよいですか?

0 投票する
2 に答える
6611 参照

logging - log4jDailyRollingFileAppenderをロールオーバー日またはサイズのいずれか早い方にします

log4jがRollingFileAppenderクラスとDailyRollingFileAppenderクラスを提供していることは知っていますが、DailyRollingFileAppenderはMaxFileSizeプロパティをサポートしていません。

log4jの動作を微調整して、次のようにログインできるようにするにはどうすればよいですか?ローリングポリシーは、DailyRollingFileAppenderのように期間(およびファイル名にDatePatternが追加されます)とMaxFileSize(RollingFileAppenderのように)の両方に基づいていますか?

例:

  • ログファイルは1時間ごとにロールされます(ファイル名にはYYYY-MM-DD_HH-MM-SSなどのタイムスタンプが追加されます(通常、MMとSSは「00」と「00」になります)

  • maxFileSizeは1MBに制限されています

  • 1時間ごとのロールオーバーサイクルの2つのチェックポイント中に、maxFileSizeを超えるイベントが発生した場合、ログファイルもロールオーバーする必要があります(つまり、分と秒のスタンプは「00」とは異なる値を取ります)

0 投票する
0 に答える
2457 参照

c#-4.0 - プログラムによる log4net の構成

log4net を適切に構成しようとして最悪の時間を過ごしています。まず、私がこれまでどのように使用してきたか (そして成功したか) についての背景を説明する必要があります。

私のアプリケーションには、すべてのデータをログに記録する必要がある FileAppender を定義する log4net 構成ファイルがあります。すべてのアセンブリにはILogメンバー変数があり、それを に設定しますLogManager.GetLogger( typeof( myclass))。ここで、myclassはログを記録しているクラスです。

このようにすべてがうまく機能します。

今では、少し違った使い方のアセンブリもあります。複数回インスタンス化することができ、要件は、各インスタンスが独自のファイルにログを記録することです。これをプログラムで機能させることができ、logging.xml ファイルを捨てました。

これもうまくいきます。ここで問題が発生します。上記のアセンブリは、log4net も使用する別のアセンブリを使用しています。ただし、そのアセンブリは、使用するために既に構成されているロガーがあることを期待しています。明らかに、プログラムでlog4netを設定している方法が、それが機能しないようにしています。

内部 log4net デバッグを有効にしました。表示されるエラー メッセージはエラーについてかなり明確ですが、問題を (最善の) 解決方法がわかりません。

LoggerFactory「test_logger」ロガーを作成するために明示的に使用しても同じエラーが発生するため、ロガーが作成されていると想定しています。したがって、そのロガーのアペンダーを作成する方法を理解するだけの問題です。FileAppender以前のコードを使用してこのロガー用の を作成しようとしましたが、コードを実行しても同じエラーが発生します。

これを機能させるために誰かが私に何かを提案できますか?

編集 - すべてのログ メッセージを、テスト アプリによって作成された FileAppender に入れることを本当に望んでいることを明確にする必要があります。個別のファイル (アセンブリごとに 1 つ) を持つことは避けたいと思います。

0 投票する
1 に答える
5069 参照

log4j - logrotateがログファイルをローテーションするときに、log4jfileappenderが新しいファイルに切り替わらない

コンテクスト:

log4jを使用して、監査関連のログを特定のログファイル(たとえば、audit.log)に書き込みたいと思います。データの損失に耐えたくないので、syslogappender(udpベース)を使用したくありません。さらに、ファイルが特定のサイズに達したときに、logrotateを使用してaudit.logをローテーションしています。

問題:

私が遭遇しているのは、logrotateがファイルaudit.logをaudit.log.1にローテーションすると、log4jはaudit.logへの書き込み以外にaudit.log.1への書き込みを続けるということです。

考えられるアプローチ:

  1. logrotateを使用する以外にrollingfileappenderを使用してログローテーションを実行できることはわかっているので、rollingfileappenderがファイルをロールすると、面倒なことなく新しいファイルに切り替わります。しかし、rollingfileappenderを使用できない理由は、logrotateのポストローテーション機能を使用して、ローテーションが発生した後に、rollingfileappenderでは提供できないスクリプトをトリガーするためです。

  2. 私が考えることができるもう1つの必死の方法は、log4jのカスタマイズされたアペンダーを自分で作成して、ログファイル(audit.log.1)を閉じ、ファイルが回転したことを検出したときに新しいアペンダー(audit.log)を開くことです。

  3. ExternallyRolledFileAppenderを使用したことはありませんが、logrotate postrotateを使用して信号をExternallyRolledFileAppenderに送信し、log4jにファイルが回転していることを認識させて、新しいファイルへの書き込みを開始できる場合はどうでしょうか。

質問:

そのようないくつかのアペンダーがすでに発明/書かれているのだろうか?または、これを解決する他のオプションがありますか?

0 投票する
5 に答える
6054 参照

java - 削除されたファイルを再作成するLog4j FileAppender

私が取り組んでいるプロジェクトでログ フレームワークとして Log4j を使用しています。次のような状況があります: Log4j は、ログをログ ファイルに書き込むように構成されています。ある時点で、このログ ファイルは別の宛先にコピーされ、削除されます。ロギング フレームワークは機能し続けますが、ログ ファイルは削除されているため、ログ ファイルに書き込まれません。Log4j にファイルを再作成し、ログをログ ファイルに書き込み続けるように指示する方法はありますか。

よろしく、 ラシッド

0 投票する
2 に答える
735 参照

scala - アペンダーの追加は機能しません

ロガーを取得して、特定のアペンダーを追加しようとしています。私のコードは非常に単純ですが、これを機能させる方法がわかりません。

ここでエラーが発生します

このエラーが何を意味するのか、そしてそれをどのように解決するのか、私にはわかりません。誰かが私を助けることができますか?

編集 :

私はドレクシンによって言われたことをやろうとしました。インターフェイスを拡張して関数を定義することができませんでした。setName、getName、doAppendの3つの関数しかありませんでした。これらの関数を定義する方法がわかりません。その間、私は何かを試し、エラーを削除しました。コードを調べて、私がやっていることには意味があるかどうか教えてください。

asInstanceOfを使用するのは賢いコーディング方法ではないことは知っていますが、今のところ、これを機能させたいと思っています。このコードを実行すると、ログに記録したいファイルが取得されますが、その中にログがありません。レベルエラーをチェックしましたが、そうではありません。エンコーダー/レイアウトに問題があると思います。修正方法がわかりません。誰かがクラスを拡張して関数を適用する方法、またはこの新しいコードの何が問題になっているのかを教えてもらえますか?

0 投票する
2 に答える
391 参照

java - 個別のプログラム引数用のJava個別のログファイル

渡されたコマンドライン引数に従って、SMSをさまざまなモバイルネットワークに送信する単一のファイルがあります。Vodafone、3ネットワーク、T-Mobile、O2など。したがって、議論が通過したとき

ここで、モバイルネットワークに応じてログ情報やデバッグメッセージを個別に取得できるように、個別のネットワーク用に個別のログファイルを作成したいと思います。

SMSDaemonのファイルは1つしかないので、次のことを試しましたが、ファイルに何も書き込まれていません。log4j.propertiesファイルで定義されているファイルにのみ書き込んでいます。だから、私はlog4j.propertiesに何を書くべきか、そしてこのJavaファイルに何を書くべきか混乱していますか?

log4j.propertiesファイルには以下が書き込まれます。すべてのログは、このプロパティで定義されているnetwork.logファイルに書き込まれます。これは私の要件に従っていません。SMSDaemonsetLogPropsメソッドで定義された個別のネットワーク用の個別のログが必要です。

提案してください。

前もって感謝します。

0 投票する
1 に答える
1675 参照

log4j - log4jはクラスから特定のレベルを分離します

log4jで質問したいのですが。activemqにlog4j用のこの構成ファイルがあります。私の問題は、私が持っているすべてのクラスからのすべてのINFOレベルのメッセージをログに記録したいのですが、「TransportConnection」クラスからのすべてのDEBUGレベルのメッセージを別のファイルにログに記録し、同時に、より大きなメッセージのみをすべてログに記録したいということです。または、rootLoggerに対するWARNレベルと同じです。

この構成の問題は、rootLoggerの「TransportConnection」クラスからのINFOレベルのメッセージをログに記録することです。WARN以上のレベルのみをrootLoggerに渡したい。

他のクラスからのINFOレベルのメッセージが必要なため、「out」アペンダーにしきい値を設定したくありません。

0 投票する
2 に答える
4535 参照

java - すべてのクラスの log4j fileappender を設定するには?

私のアプリケーションでは、入力ファイル (myFile1.txt など) を読み込み、同じ名前の出力ファイル (myFile2log など) を作成します。ポイントは、inputfile が Java アプリケーション内で読み取られ、コマンド ライン パラメータとして指定されないことです。したがって、アプリケーションでアペンダーを設定する必要があります。

そして、ここに問題があります。上記を実行すると、カスタム ファイル アペンダーは、fileappender が定義された特定のクラスに対してのみ機能しますが、他のクラスでは機能しません。したがって、「RandomClass」の出力はこのログファイルに書き込まれませんが、必要なものです。どうすればそれを達成できますか?

0 投票する
2 に答える
1665 参照

logback - logbackのFileAppenderによって使用されるBufferedOutputStreamの基になるバッファサイズを変更するにはどうすればよいですか?

ロギングフレームワークとしてログバックを使用しています。FileAppenderがBufferedOutputStreamに裏打ちされたResilientFileOutputStreamを使用していることに気づきました。ログバックのパフォーマンスを調整できるように、このBufferedOutputStreamインスタンスのバッファーサイズを構成する方法があるかどうか疑問に思っています。

ありがとう