Supprimer les messages inutiles de Sendmail des journaux syslog(3)
Page en travaux
LogLevel et Milter.LogLevel
J'aime bien avoir des logs verbeux. Je règle donc Sendmail avec les options :
# log level O LogLevel=15 O Milter.LogLevel=17
Par défaut, les deux vallent 9
. Cela ne renseigne que dans les cas où un message est deferred
. Le niveau 14
renseigne aussi sur les refus mais le 15
a le bon goût de journaliser toutes les commandes SMTP entrantes et sortantes. Attention, c'est verbeux ! Le niveau est LOG_INFO
. Pour Milter.LogLevel
, 17
affiche les en-têtes et le corps envoyé au(x) filtre(s). Si on veut voir les en-têtes ou tout du moins plus que l'expéditeur et le destinataire, il faut en passer par là.
Du coup, mes journaux sont remplis de trucs inutiles comme :
sm-mta[24339]: l7B5X5xl024339: --- 250-ENHANCEDSTATUSCODES sm-mta[24339]: l7B5X5xl024339: --- 250-PIPELINING sm-mta[24339]: l7B5X5xl024339: --- 250-EXPN sm-mta[24339]: l7B5X5xl024339: --- 250-VERB sm-mta[24339]: l7B5X5xl024339: --- 250-8BITMIME sm-mta[24339]: l7B5X5xl024339: --- 250-SIZE sm-mta[24339]: l7B5X5xl024339: --- 250-ETRN sm-mta[24339]: l7B5X5xl024339: --- 250-DELIVERBY sm-mta[24339]: l7B5X5xl024339: --- 250 HELP
ou comme :
sm-mta[24339]: l7B5X5xl024339: milter=mimedefang, action=header, continue sm-mta[24339]: l7B5X5xl024339: milter=milter-regex, action=header, accepted
Filtre Syslog-NG
Qu'à cela ne tienne, Syslog-NG fait le filtrage et ne garde que la substantifique moelle :
filter f_mail_log { facility(mail) and level(info..emerg) and not match("milter=.*,\ action=") and not match(":\ ---\ 220\ \ ESMTP") and not match(":\ ---\ 250-(ENHANCEDSTATUSCODES|PIPELINING|8BITMIME| EXPN|VERB|SIZE|DSN|ETRN|DELIVERBY|HELP)"); };