問題タブ [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 に答える
1462 参照

perl - Log::Log4perlでログレベルが異なる2つのアペンダーを設定するには?

2 つのアペンダー (1 つの画面と他のファイル) を持つロガーがあります。変更可能な可変ログレベルを備えた画面アペンダーと、何があってもすべてをログに記録するファイルアペンダーが必要です。したがって、たとえば、画面への出力を無効にすることができます (Screen アペンダー) が、ログファイル (ファイル アペンダー) で TRACE のレベルまでの完全なログを取得できます。Screen アペンダーの変更には成功しましたが、同じロガーの File アペンダーを TRACE のレベルに設定できません。さまざまなしきい値設定を使用してみましたが、成功しませんでした。

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

perl - 別のパッケージ内から log4perl を実行しても、電子メールで送信されたメッセージが起動しない

log4perl を使用して電子メールでメッセージを送信するときに、説明できない動作が見られます。

したがって、次のテスト スクリプトは問題なく動作し、電子メールは問題なく送信されます。

Log::Dispatch::Email::SSMTP、ssmtp コマンドを使用してメールを送信するために作成したモジュールです。

この同じ正確なコードが、元のスクリプトと同じディレクトリ内の別のファイル内の別のパッケージに移動されると、奇妙なことが始まります。それを行って元のスクリプト内からそのパッケージを使用すると、メールは送信されず、エラーもスローされません。

ただし、変更すると:

Log::Dispatch::Email::SSMTP

Log::Log4perl::Appender::Screen

スクリプトを実行すると、画面に「こんにちは」と表示されます。

メッセージを画面に送信するときに log4perl が機能する場合、電子メールを送信しようとすると機能しないのはなぜでしょうか? また、同じコードがパッケージからではなく、元のスクリプト内から電子メールを送信するのはなぜですか? 繰り返しますが、スローされるエラーや、何か問題が発生したことを示す兆候はありません。また、モジュールに print ステートメントが読み込まれることを確認しました。したがって、モジュールのコードは確実にロードされていますが、電子メールはまだ送信されていません。

更新コメントのリクエストごとに機能しない 場合のコードは次のとおりです。

maillog.pl

Testy.pmパッケージは次のとおりです。

そして、ここに私のSSMTPモジュールがあります/home/steve/perl/perl-lib/Log/Dispatch/Email/SSMTP

パッケージ内のコードを使用すると、実行時に./maillog.pl電子メールが送信されません(ファイル内の場合も同じコードが機能します。ただし、コメントを外して置き換えると機能します。Testymaillog.plLog::Dispatch::Email::SSMTPLog::Log4perl::Appender::Screen

更新#2 に変更Log::Log4perl::Appender::ScreenするLog::Dispatch::Screenと、同様に機能します。それで、多分一種のバグが入りLog::Dispatch::Emailますか?

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

perl - 重要なイベント メッセージを別の Log::Log4perl ロガーに送信する

重要なイベント メッセージを別のログ ファイルに収集する必要があります。(通常のログはかなり肥大化しており、メンテナンスを目的としていますが、ユーザーはほとんどのイベントにしか関心がありません。)

すべての ERROR レベル以上のイベントは「重要」と見なされますが、イベントはレベルに関連していません。このようなイベントの多くは、INFO または WARN レベルです。したがって、レベルのしきい値またはマッチングは答えではないようです。

また、イベントは階層の特定のブランチに限定されません。これらはアプリケーション全体から発生する可能性があるため、「カテゴリ」も適合しないように思われますか?

編集: 現在、INFOレベルの一般、メンテナンスロガー、およびWARNレベルのスクリーンロガーがあります

Log::Log4perl でそのようなロガーを実現する方法はありますか?

よろしく

メイア

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

perl - Log::Log4perl 設定ファイルで Perl 変数を使用するにはどうすればよいですか?

Log::Log4perl 構成ファイルでスクリプトから Perl 変数を使用したいと考えています。ドキュメンテーションを読んだところ、サブルーチンを使用できることがわかりましたが、可能であればもう少し簡単にしたいと考えています。

アペンダーのファイル名を設定したい:

でも、こうすると固定値です。

スクリプト内の変数にファイル名があり、実行時にこれを使用したいと考えています。

サブルーチンは次のとおりです。

これは機能しますが、戻り値が非常に単純であるため、スクリプト内のサブを避けたいと思います。

ドキュメントには次のように記載されています。

文字列で始まる各値sub {...は、アプリケーションが構成を解析するときに実行される Perl コードとして解釈されます...

だから私はこのようなことを試みましたが、うまくいきませんでした:

スクリプト内のサブなしで変数の結果を取得する方法はありますか?

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

perl - Jenkins を使用して Log4perl モジュールをインストールする方法

私はJenkinsとPerlを初めて使用し、Jenkin Jobを使用してLog4perlモジュールをインストールしようとしています. 以下は、Jenkin の Execute シェル ボックスで使用したコマンドです。

以下はJenkinコンソールのログメッセージです

ログメッセージには次のように書かれています

警告: Log::Log4Perl をインストールできません。それが何であるかわかりません。

上記のステートメントを無視するべきかどうかはわかりません。また、log4perl モジュールが正常にインストールされたかどうかを確認する方法を教えてください。

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

perl - Log4perl に初期化がありません

ルートロガーを定義して初期化するクラス A を作成しました

AI のサブクラスでこのロガーを使用したい

アプリケーションを実行すると、メッセージが表示されます

Log4perl: 初期化が行われていないようです。init() を呼び出すのを忘れましたか?

init が認識されないのはなぜですか?

KDJ

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

perl - Log::Log4perl でタイムゾーンを記録するにはどうすればよいですか?

Log::Log4perlを使用して、現在の日付を次のように記録します。

タイムゾーンも記録する方法はありますか?