問題タブ [log4perl]

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 投票する
1 に答える
570 参照

perl - バックグラウンドで実行されている単一の perl スクリプトは、Log4Perl の複数のインスタンスを保持できますか?

バックグラウンドで実行され、Log4Perl を使用して自己ログ記録するスクリプト「server.pl」があります。

このスクリプトは、ディレクトリを継続的に読み取り、Linux::Inotify2 モジュールで作成された新しいファイルを検出します。

検出された各ファイルは、実行されるパイプラインであり、独自のログファイルに書き込む必要がある Storable オブジェクトです。私の問題は、パイプラインのロガーを初期化するために Log4Perl::init を呼び出すと、新しい初期化によって以前の初期化が上書きされたため、server.pl 自体がログに記録されなくなることです。問題は、「server.pl」スクリプトに Log4Perl の複数のインスタンス (事前に未定義の数) を保持させるにはどうすればよいかということです。

以下は、'server.pl' の切り詰められたバージョンです (退屈なものはありません)。

編集:グローバルに、これは、スクリプトレベルでのみ定義されたロガーではなく、各インスタンスに応じてロガーが必要になることを意味します。何か案は ?ありがとう

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

perl - Log4perl フィルターはマップされた診断コンテキストにアクセスできますか?

私はいくつかの Perl CGI スクリプトを書いており、Log4perlを使用してさまざまなファイルにログを記録しています。特定の (またはさまざまな) ユーザーのアクティビティを別のログ ファイルに追跡できると便利だと思いました。セッション ルーチンにフックを挿入して、ユーザー ID をMDCに詰め込むことはできますが、フィルターから MDC にアクセスする方法がわかりません。私の知る限り、MDC はパターン作成にのみ使用されます。

これは Log4perl で実行できますか?

以下の提案に従って、構成ファイルにフィルターを追加しましたが、まだ機能していません。

セッション ルックアップを実行するとすぐにユーザー ID を入力しますが、appUser.log ファイルが作成されることはありません。私が見ることができるエラーは表示されません。

0 投票する
4 に答える
144 参照

perl - Perl での解析のヘルプ

私の (既存の) perl ファイルは、次の形式で Log4Perl を使用してログ ファイルを作成します。

上記は私のログファイルのほんの一例です。次のフォーマッタを使用します

現在、エラーが発生した場合に備えてメールを送信する必要があります。

既存のスクリプトを変更する代わりに、生成されたログ ファイルをエラーのみ解析し、ログ ファイルから「エラー」に関連するすべてのメッセージを電子メールとして送信することを考えました。

ログファイルを解析する簡単な方法はありますか?

よろしく、

カーシック

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

perl - Perl Log4perl 行で同時に印刷とロギング

私はこれを読んでいて、混乱して立ち往生しています。

印刷とファイルへのログインを同時に行うには、ALWAYSまたは両方を使用する必要がありますか?print_portfolio('themessage')

私がしたいこと:

それ以外の:

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

perl - Log4perl タイムスタンプのタイムゾーンを変更するにはどうすればよいですか

私のWebサーバーは私のものとは異なるタイムゾーンにあり、Log4perl構成でこのパターンレイアウトを使用しています:

%d は、サーバーのタイムゾーンで日付/時刻を生成します。代わりに、ローカルタイムゾーンで日付/時刻を記録するにはどうすればよいですか?

私は次のことを認識しています。

日付/時刻が GMT で記録されますが、任意のタイムゾーンをサポートするドキュメントは見つかりませんでした。

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

perl - PerlでLog::Log4perlを使用しているときに、ログを記録する前にパターンを置き換えるにはどうすればよいですか?

ファイルにログオンする前に、ログメッセージのパターンを置き換えようとしています。ロガーはPerlモジュールを使用しLog::Log4perlます。このモジュールで使用できるフィルターオプションのみがあり、問題は解決していません。

実はこれがやりたいことです。"Testing the logger module"私のログメッセージはとだとしましょう"Developing the logger module"。メッセージ内の文字列'module'をに置き換えたい。'package'したがって、ログメッセージに文字列「module」がある場合は常に、ログに記録する前に「package」に置き換える必要があります。そして、ここでPerlの正規表現の検索/置換を使用したいと思います。これにより、さまざまなパターンを置換できます。

これは可能ですか?誰か助けてもらえますか?

前もって感謝します、

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

perl - Log4perl: プレフィックスのない同じ行の新しいメッセージ

Log4perlメッセージは新しい行で始まります:

結果:

同じ行でプレフィックスなしで次のメッセージを取得するにはどうすればよいですか:

何か案は?

更新:

プログラムの進行状況バーを作成しようとしました。しかし、結果として、このプログレス バーはログではなく、画面上でのみ必要になります。

このようにして私はそうしました:

回答ありがとうございます。

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

perl - log4perl 用に DateFileAppender を構成する方法

ログファイルに日付が追加されてログファイルが自動的にローテーションされるように log4j を構成する方法を知っています。

log4perlで同じことを達成するにはどうすればよいですか?

log4Perl で同じ設定を試しましたが、ファイル名パラメータは必須のようです。どんな助けでも大歓迎です。

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

perl - log4perlによるログサイズの制限

log4perlで作成されるログファイルのサイズを制限したい。ログファイルが約100MBを超えないようにします。最後の100MB(またはその前後)のデータのみが必要です。理想的には、以前のデータを切り捨てて、最後のビットのみを保持します。Log :: Dispatch :: FileRotateモジュールを認識していますが、複数のログファイルが必要ないため、要件を完全には満たしていません。

これは可能ですか?

以下のインライン構成を含む完全なコード(useステートメントを除く):

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

perl - Log4Perl: 実行中のコードから使用されるロガー ファイルを変更するにはどうすればよいですか? (フォークの後)

perl で ETL プロセスをセットアップして、多数のファイルを処理し、それらをデータベースにロードします。

最近、パフォーマンス上の理由から、fork() 呼び出しと system("perl someOtherPerlProcess.pl $arg1 $arg2") への呼び出しを使用して、コードをマルチスレッドに設定しました。

最終的に、someOtherPerlProcess.pl の約 12 のインスタンスが異なる引数で実行され、これらのプロセスはそれぞれ、1 ディレクトリ分のファイル (データベース内の 1 つのテーブルに対応) を処理します。

アプリケーションの主な機能は動作しますが、ログの構成方法を理解するのに問題があります。

理想的には、すべての someOtherPerlProcess.pl が同じ $log_config 値を共有してロガーを初期化したいのですが、それぞれが作業中のディレクトリにログ ファイルを作成するようにします。

私はそれを行う方法を理解することができませんでした。また、これらの perl スクリプトを呼び出しているディレクトリに、すべてのログ メッセージを含むいくつかのファイル (ARRAY(0x260eec)、ARRAY(0x313f8) など) があることにも気付きました!

実行中のコードから log4perl.appender.A1.filename 値を変更する簡単な方法はありますか? または、使用するファイル名を動的に構成しますが、構成ファイルの他のすべての値を使用しますか?