log4sh を使用したシェル スクリプトからのログ記録

log4sh を使用したシェル スクリプトからのログ記録

log4sh を使用して SMTP メールを送信しようとしています。stdout、ファイル アペンダーなどの他のすべてのログは機能していますが、smtp は機能していません。

log4sh.プロパティ:

log4sh.rootLogger=ERROR, stdout, smtp, file
log4sh.appender.smtp=SMTPAppender
log4sh.appender.smtp.Threshold=DEBUG
[email protected]
log4sh.appender.smtp.Subject=This is a test subject
log4sh.appender.smtp.layout=PatternLayout
log4sh.appender.smtp.layout.ConversionPattern=%d [%-5p] %F - %m%n

以下は、 stdout とファイルでは機能しますが、 smtp では機能しないコードです。

logger_error "This is a test";

以下はlog4shのリンクです:

http://svn.code.sf.net/p/log4sh/svn/trunk/source/1.5/doc/log4sh.html

答え1

デフォルトでは、すべての Linux ソフトウェアは電子メールを直接送信しません。代わりに、postfix などのメール サーバーを適切に構成して、システム上で SMTP リレーを適切に構成する必要があります。

適切なドキュメントはインターネットで簡単に見つけることができます。

答え2

シェルのグローバル変数を使用したシェル スクリプトのログ記録については、かなり詳しい情報があります。シェル スクリプトで同様のログ記録をエミュレートできます。http://www.cubicrace.com/2016/03/log-tracing-mechnism-for-shell-scripts.html

この投稿には、INFO、DEBUG、ERROR などのログ レベルの導入に関する詳細が記載されています。スクリプトのエントリ、スクリプトの終了、関数のエントリ、関数の終了などのトレースの詳細。

サンプルログ: ここに画像の説明を入力してください

関連情報