問題タブ [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.
perl - Perl: 未処理のエラーが発生した場合、Log4Perl は log4perl を呼び出します
log4Perl で、eval 句の外でもプログラムに致命的なログを強制する方法はありますか? 未処理のプログラムが終了した場合にも log4perl を呼び出すようにしたいと考えています。できれば、関連するエラー ハンドラを、すべての Perl プログラムとともにロードされる標準モジュール内に追加したいと考えています。
Perl のバージョンは現在 5.8 ですが、近日中にアップグレードします。
これは、指定された回答のテスト コードです。画面に DIE も、die.txt も作成されていません。
log4perl - ログファイル名としてのLog4perlカテゴリ
私はぼんやりしていて明らかなことを見逃していると確信していますが、サブルーチン呼び出しに頼ることなく、構成ファイルのファイル名として現在のカテゴリを使用する簡単な方法はありますか?
次のファイル名の行${category}.log
で繰り返す代わりに使用できるようにbin.nh.tpp
linux - Log4perlにログを毎日ローテーションさせる方法は?
Log4perlを読んでいて、Linuxボックスで実行されているPerlスクリプトの簡単なログ管理に使用したいと思っています。私も読んだことがありますnewsyslog
がlogrotate
、可能であればLog4perlを使用したいと思います。
/etc/log4perl.conf
次のようにファイルを構成しようとしています。
widget
すべての出力をに書き込むロガー(INFO
レベル)を定義します/opt/myapp/logs/myapp-<datetime>.log
。ここで、<datetime>
は次のような日付/時刻形式の文字列です。2012-12-20
- この
myapp-<datetime>.log
ファイルは毎日(できれば深夜に)ローテーションする必要があります。古いファイルは削除され、新しいファイルは。で作成され<datetime> + 1
ます。たとえば、などmyapp-2012-12-20.log
に置き換えられます。myapp-2012-12-21.log
これが私の最善の試みであり、近いと思いますが、まだいくつかの構成が欠落しています。
log4perl.appender.MyAppLogAppender
1日に1回ローテーションし、古いファイルを削除し、正しいタイムスタンプで新しいファイルを作成するように構成するにはどうすればよいですか?前もって感謝します。
linux - Log4perl 構成が機能しない
Linux マシンに Log4perl がインストールされており、次のものがあります/path/to/log4perl.conf
。
各 perl スクリプトの内部 (各スクリプトは、異なるアペンダーと異なるログ ファイルへのログを使用します):
各スクリプトは異なるアペンダーを使用し、異なるファイルにログを記録しますが、それらはすべて同じ動作をするはずです。
- 各ログは 1 日 1 回ローテーションされ、古い (ローテーションされた) ログは削除されます
このスクリプトを 24 時間以上実行していますが、 .log の下にログが生成されていませ/my/logs/
ん。
だから私は尋ねます:私はlog4perl.conf
間違っていますか?そうでない場合、問題を診断するにはどうすればよいですか? perl スクリプトでライブラリを正しく初期化していませんか? 前もって感謝します。
perl - ファイルアペンダーを使用したLog4perlの奇妙なエラー
Log4perl ロガーに単純なファイル アペンダを追加および削除しようとしていますが、警告が生成され、何も出力されません。これが私のコードです:
ファイル「someFile.txt」が作成されますが、空です。生成される警告は次のとおりです。
タイムスタンプ付きの「info」もコマンドラインに出力されます。誰が私が作っているエラーを見ることができますか?
perl - log4perlをインストールして使用する方法は?
私はlog4p
使用するのが初めてで、コードのログインに同じものを使用したいと思っています。次のようなエラーが発生します:
@INCでLog/Log4perl.pmが見つかりません
私が理解しているのは、ライブラリがないためです。では、このライブラリをUNIX環境のどこにどのようにインストールすればよいですか?
インストールしてみました:
これも失敗しました。私は正しい方向に進んでいませんか?誰かが私にこのパッケージをインストールする方法と場所を教えてくれるクイックスタートアップリンクを教えてもらえますか?
perl - タイムスタンプの問題として名前が付けられたPerlログファイル
Log4perlロガーを作成していて、localtime()関数を使用しています。問題は、log4perlロガーを(別のファイルに対して)再インスタンス化するモジュールを呼び出すたびに、localtime()が異なり、すべてを1つのファイルにまとめたいときに複数の異なるログファイルを作成することです。
考え?
上記は私が行う前のコードでありuse LIB::Paths
、Paths.pmを使用する最初のファイルです。以下のコードはPaths.pmファイルです。最初のファイルが呼び出さuse LIB::Paths
れ、2番目のファイルも呼び出されます[追加できますが、すべてのコードをあなたたちに投げたくありませんでした]。 これにより、2つの別々のタイムスタンプが作成されます。
perl - perl スクリプトのすべての出力をファイルと画面に送信する
log4perl を使用してすべての出力を画面とファイルに記録する perl スクリプトがあります。問題は、特定の出力が log4perl に送信されないことです。
脚本 -
Log4perl 設定 -
画面/IDEの出力は次のとおりです-
ログファイルの出力は次のとおりです-
log->info の代わりに print ステートメントを使用していることはわかっていますが、log4perl の構成を、スクリプトの生成方法に関係なく、スクリプトのすべての出力が log4perl に送信されるようにしたいと考えています。
これを行う方法についてのアイデアはありますか?
perl - ログファイルに正しいパーミッションを設定するために log4perl.conf と perl スクリプトを設定する方法は?
Log::Log4Perl
perl スクリプトのロギングに使用しています。1 つのことを除いて、すべてがうまく機能しています。さまざまなスクリプトで使用される (およびさまざまなユーザーによって実行される) いくつかの共通モジュールがあります。これらのログ ファイルにアクセス許可を設定したいのです-rw-rw-rw-
が、私が使用している次のコードは役に立たないようです。
私の中で/etc/log4perl.conf
私のperlスクリプトではscript.pl
この構成と対応するコードscript.log
は、許可を得てファイルを作成します-rw-r--r--
が、必要です-rw-rw-rw-
。コードに何かひどく問題がありますか? Can file appenders create files with different permissions?もお読みください。
perl - Catalyst: Log4perl と Apache
Apache2 と ModPerl を使用して Catalyst Web アプリケーションをホストしています。Web アプリケーションは、Log4perl モジュールを使用してログファイルを生成します。
問題は、Apache サービスの開始時にログ エントリのみが生成されることです。その後、新しいエントリは生成されませんでした。
代わりにCatalystの統合開発サーバーを使用すると、ログエントリは正常に生成されます。
私はすでにアクセス権を確認しましたが、これらは問題ないようです。Apache プロセスは所有者であり、書き込み可能です。
誰でもこの問題の原因を考えていますか???
これは私のlog4perl構成です:
log4perl.logger.myapp=情報、ログファイル
log4perl.appender.LOGFILE=ログ::ログ4perl::アペンダー::ファイル
log4perl.appender.LOGFILE.filename=myapp.log
log4perl.appender.LOGFILE.mode=追加
log4perl.appender.LOGFILE.layout=パターンレイアウト
log4perl.appender.LOGFILE.layout.ConversionPattern=[%d] [%p] %m%n