DOVECOT LOG

参考:https://wiki2.dovecot.org/Logging


dovecot的五个日志等级:详细降序

  • debug: Debug-level message.【调试级别的消息

  • info: Informational messages.  【信息消息

  • warning: Warnings that don't cause an actual error, but are useful to know about.

           【警告不会导致实际的错误,但对于了解有用】     

err: Non-fatal errors. 【非致命错误】crit: Fatal errors that cause the process to die.【导致进程死亡的致命错误】

自定义用户日志文件:


    根据了解,系统上的日志可以由产生软件本身提供的日志,例如nginx,apache这一类,也可以使用第三方的rsync这一类,而rsync提供好几种邮件的模式,例如:

mail,cron,auth,authpriv,daemon,kern,mark,news,securty,user,uucp,local0...local7这个集中格式:

根据dovecot的log设定,编辑/etc/dovecot/10-logging

###软件自带的日志存储位置设置 # Log file to use for error messages. "syslog" logs to syslog, # /dev/stderr logs to stderr. log_path = /var/log/dovecot.log ##不定义info_log_path以及debug_log_path或者留空,便只记录在log_path中 # Log file to use for informational messages. Defaults to log_path. info_log_path = /var/log/dovecot_info.log # Log file to use for debug messages. Defaults to info_log_path. debug_log_path = /var/log/dovecot_debug.log #保留为空,以便将调试级别的消息发送到info_log_path ##警告和错误消息将转到由log_path指定的文件,而信息性消息转到info_log_path,并将调试消息转 到debug_log_path。如果您这样做,请确保您真的在查看错误消息的log_path文件,因为“启动”消息 被写入到info_log_path文件中 ###使用rsync的日志存储自定义 # Syslog facility to use if you're logging to syslog. Usually if you don't # want to use "mail", you'll use local0..local7. Also other standard # facilities are supported. syslog_facility = local5 local5.*        -/var/log/dovecot.loglocal5.warning;local5.error; local5.crit -/var/log/dovecot-errors.log 至于自定义这就可以根据你需要的情况,配合上日志的五个等级来搭配: local5.* -/var/log/dovecot.log local5.info -/var/log/dovecot.info local5.warn -/var/log/dovecot.warn local5.err -/var/log/dovecot.err :msg,contains,"stored mail into mailbox" -/var/log/dovecot.lmtp ###将有生成"stored mail into mailbox" 的,存储在/var/log/dovecot.lmtp 由于改用外部日志文件提供的日志记录,所以要自配置日志的循环记录: 在/etc/rsyslog.d/目录下新增文件dovecot:【使用rsynclog】 在/etc/logrotate.d/目录下新增文件dovecot:【使用synclog】 cat dovecot /var/log/dovecot*.log {   ##日志文件目录 weekly                     ##每周备份一次 rotate 4                      ##每有4个备份就循环覆盖备份 missingok                     ##忽略ok notifempty                     ##忽略空 compress                          ##压缩格式 elaycompress                      ##轻量压缩 sharedscripts                      ##开始脚本 postrotate                        ##循环 doveadm log reopen                  ##使用doveadm log reopen endscript}                           ##结束脚本 #注意:doveadm与SELinux无法正常工作(例如,从logrotate上下文中调用doveadm无法读取配置文件)。 #SELinux安全postrotate替代scriplet: postrotatekill -s 0`cat / var / run / dovecot / master.pid` || \ kill -s USR1`cat / var / run / dovecot / master.pid`endscript ##Note 2: When syslog_facility = local5 is used for logging (example above),  the line "/var/log/dovecot.log"  should be added to the /etc/logrotate.d/syslog file to enable rotation  (no /etc/logrotate.d/dovecot in this case!).



日志详细程度:

有几个设置可以控制日志冗长。默认情况下,它们都是禁用的,但它们可能对调试有用。

  • auth_verbose = yes启用记录所有失败的认证尝试。

  • auth_debug = yes启用所有身份验证调试日志记录(也启用auth_verbose)。密码被记录为<隐藏>

  • auth_debug_passwords = YES做的一切,auth_debug = YES做,但它还会删除密码隐藏(但只有当你不使用PAM,因为PAM错误不被写入达夫科特自己的日志)。

  • mail_debug = yes启用各种邮件相关的调试日志记录,例如显示Dovecot正在查找邮件的位置。

  • verbose_ssl = yes启用记录SSL错误和警告。即使没有这个设置,如果由于SSL错误而导致连接关闭,错误会被记录为断开原因。

  • auth_verbose_passwords = no | plain | sha1如果认证失败,则此设置记录使用的密码。如果你真的不需要知道密码本身是什么,但是更感兴趣的是知道用户是否每次都试图使用错误的密码,或者是暴力***,那么可以将其设置为“sha1 “并只记录密码的SHA1。这足以知道在登录尝试之间密码是相同的还是不同的。