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 などのログ レベルの導入に関する詳細が記載されています。スクリプトのエントリ、スクリプトの終了、関数のエントリ、関数の終了などのトレースの詳細。