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 などのログレベルについて詳しく説明します。スクリプト入力、スクリプト終了、関数入力、関数終了などの詳細を追跡します。

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

関連情報