Hi, LOG_NDELAY is the only option for openlog() in dovecot 1.1.2. Wouldn't be LOG_NDELAY|LOG_PID as option parameter much more useful? Without logging the pid, it is impossible to match 'Disconnected' log entries and the corresponding session start/login. Therefore I suggest to use LOG_NDELAY|LOG_PID in the options of i_set_failure_syslog() at all 6 occurrences which passes it to openlog(). I know that it is possible to - use logging to file - patch it myself but I can't see good reasons in not using LOG_PID here. As far as I know, most other programs specify LOG_PID. Without LOG_PID: Jul 31 10:21:08 name dovecot: IMAP(hsg): Disconnected: Logged out bytes=28/242 With LOG_PID: Jul 31 10:21:08 name dovecot[17016]: IMAP(hsg): Disconnected: Logged out bytes=28/242 Heiko Heiko Schlichting Freie Universit?t Berlin heiko at FU-Berlin.DE Zentraleinrichtung f?r Datenverarbeitung (ZEDAT) Telefon +49 30 838-54327 Fabeckstra?e 32 Telefax +49 30 838454327 14195 Berlin
I wrote:> LOG_NDELAY is the only option for openlog() in dovecot 1.1.2. Wouldn't be > LOG_NDELAY|LOG_PID as option parameter much more useful?Ok, ignore my question. As logging is always handled by the daemon, this does not provide additional information about the subprocesses at this time. Sorry, Heiko Heiko Schlichting Freie Universit?t Berlin heiko at FU-Berlin.DE Zentraleinrichtung f?r Datenverarbeitung (ZEDAT) Telefon +49 30 838-54327 Fabeckstra?e 32 Telefax +49 30 838454327 14195 Berlin
On Jul 31, 2008, at 12:20 PM, Heiko Schlichting wrote:> Without logging > the pid, it is impossible to match 'Disconnected' log entries and the > corresponding session start/login.You can use %p in mail_log_prefix to log imap/pop3 process PID. It can't be done with login processes, but even if it could be done I doubt it'd be useful in figuring out the matching login and disconnect? Unlike other IMAP servers Dovecot's login process doesn't directly execv() the imap process.. I've thought about this before too though. Maybe some kind of a unique cookie could be useful. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 194 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20080731/750dae7d/attachment-0002.bin>
?????? ????. I use mail_log_prefix: %p: %r: %Us(%u): result: dovecot: 11802: 10.0.0.1: POP3(user at host.net): Disconnected: Logged out top=0/0, retr=2/133234, del=2/2, size=133196 ? ????????? ?? Thursday 31 July 2008 14:20:39 Heiko Schlichting ???????(?):> Hi, > > LOG_NDELAY is the only option for openlog() in dovecot 1.1.2. > Wouldn't be > LOG_NDELAY|LOG_PID as option parameter much more useful? > Without logging > the pid, it is impossible to match 'Disconnected' log entries and the > corresponding session start/login. Therefore I suggest to use > > LOG_NDELAY|LOG_PID > > in the options of i_set_failure_syslog() at all 6 occurrences which passes > it to openlog(). > > I know that it is possible to > - use logging to file > - patch it myself > but I can't see good reasons in not using LOG_PID here. As far as I know, > most other programs specify LOG_PID. > > Without LOG_PID: > Jul 31 10:21:08 name dovecot: IMAP(hsg): Disconnected: Logged out > bytes=28/242 > > With LOG_PID: > Jul 31 10:21:08 name dovecot[17016]: IMAP(hsg): Disconnected: Logged out > bytes=28/242 > > Heiko > > Heiko Schlichting Freie Universit?t Berlin > heiko at FU-Berlin.DE Zentraleinrichtung f?r Datenverarbeitung (ZEDAT) > Telefon +49 30 838-54327 Fabeckstra?e 32 > Telefax +49 30 838454327 14195 Berlin-- ? ?????????, ??????? ?????? ??? ?? ??? "????????????" gaa at udmvt.ru -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: <http://dovecot.org/pipermail/dovecot/attachments/20080731/ba077954/attachment-0002.bin>
Timo Sirainen wrote:> On Jul 31, 2008, at 12:20 PM, Heiko Schlichting wrote: >> Without logging the pid, it is impossible to match 'Disconnected' log >> entries and the corresponding session start/login. > > You can use %p in mail_log_prefix to log imap/pop3 process PID. It can't be > done with login processes, but even if it could be done I doubt it'd be > useful in figuring out the matching login and disconnect? Unlike other IMAP > servers Dovecot's login process doesn't directly execv() the imap process..Using mail_log_prefix = "%Ls[%p]: user=<%u>, " is ok but it does not fully solve my problem.> I've thought about this before too though. Maybe some kind of a unique > cookie could be useful.Sounds good but complicated. The only reason why I try to match login and disconnect is that "imap" and "pop3" does not log a starting message (without enabling debug) and login was the only entry during connect. The following minimal patch solves this in a sufficient way and I suggest to adopt it into the official release: --- ./src/imap/main.c.org 2008-07-20 19:57:07.000000000 +0200 +++ ./src/imap/main.c 2008-08-06 12:23:16.000000000 +0200 @@ -286,6 +286,7 @@ lib_init(); drop_privileges(); + i_info("Connected"); process_title_init(argv, envp); ioloop = io_loop_create(); --- ./src/pop3/main.c.org 2008-07-20 19:57:16.000000000 +0200 +++ ./src/pop3/main.c 2008-08-06 12:29:11.000000000 +0200 @@ -268,6 +268,7 @@ lib_init(); drop_privileges(); + i_info("Connected"); process_title_init(argv, envp); ioloop = io_loop_create(); Heiko Schlichting Freie Universit?t Berlin heiko at FU-Berlin.DE Zentraleinrichtung f?r Datenverarbeitung (ZEDAT) Telefon +49 30 838-54327 Fabeckstra?e 32 Telefax +49 30 838454327 14195 Berlin -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 245 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20080813/988c0593/attachment-0002.bin>