postfix2dlf_pre(1) preprocess postfix logfiles for postfix2dlf_main


postfix2dlf_pre dumpfile


postfix2dlf_pre expect a postfix logfile on STDIN. It prints preprocessed logfile lines to STDOUT and creates a Berkeley DB holding a mapping from hostname-queueid to number-of-lines-with-this-id. dumpfile can be e.g. /tmp/dump, ../../var/dump or dump.


One can use the lr_anondump tool to view the contents of the dumpfile.

E.g. run

 $ zcat postfix.log.gz | ./postfix2dlf_pre /tmp/stem > /tmp/pre
 $ lr_anondump /tmp/stem
 $ ./postfix2dlf_main /tmp/stem < /tmp/pre > /tmp/post



The raw log file

 Dec 1 04:02:56 internetsrv postfix/pickup[20919]: 693A3578E:
  uid=0 from=<root>
 Dec 1 04:02:56 internetsrv postfix/cleanup[20921]: 693A3578E:
  message-id=<[email protected]>
 Dec 1 04:02:57 internetsrv postfix/qmgr[20164]: 693A3578E:
  from=<[email protected]>, size=617 (queue active)
 Dec 1 04:02:58 internetsrv postfix/local[20924]: 693A3578E:
  to=<[email protected]>, relay=local, delay=3, status=sent
  (forwarded as E325C578D)

will get converted to

 dlfid internetsrv693A3578E from_relay_host localhost from_relay_ip logrelay internetsrv queueid 693A3578E time 1007175776
  type pickup
 dlfid internetsrv693A3578E logrelay internetsrv msgid
  <[email protected]> queueid 693A3578E time 1007175776 type cleanup
 dlfid internetsrv693A3578E from_domain from_relay_host
  localhost from_relay_ip from_user john.doe.2 logrelay
  internetsrv queueid 693A3578E size 617 time 1007175777 type qmgr
 delay 3 dlfid internetsrv693A3578E logrelay internetsrv queueid
  693A3578E stat sent time 1007175778 to_domain
  to_relay_host localhost to_relay_ip to_user john.doe.2
  type local xstat (forwarded_as_e325c578d)


postfix2dlf_pre will be rarely used on its own: it is called by postfix2dlf(1). Refer to the postfix2dlf manpage for examples and usage information.


$Id:,v 1.13 2006/07/23 13:16:34 vanbaal Exp $


Copyright (C) 2002 Stichting LogReport Foundation [email protected]

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with


Joost van Baal