Я пытаюсь отправить SMTP-письмо с помощью log4sh. Все остальные журналы, такие как stdout, file appender, работают, но 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 и file, но не для 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 не отправляет электронную почту напрямую, вместо этого вам следует правильно настроить SMTP-ретранслятор в вашей системе, правильно настроив почтовый сервер, например Postfix.
Соответствующую документацию вы легко найдете в Интернете.
решение2
Есть много подробностей о регистрации для скриптов оболочки через глобальные переменные оболочки. Мы можем эмулировать похожий тип регистрации в скрипте оболочки:http://www.cubicrace.com/2016/03/log-tracing-mechnism-for-shell-scripts.html
В посте есть подробности о введении уровней журнала, таких как INFO, DEBUG, ERROR. Подробности трассировки, такие как вход в скрипт, выход из скрипта, вход в функцию, выход из функции.