[Neo-report] r2702 jm - /trunk/neo/lib/__init__.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Apr 7 15:02:33 CEST 2011


Author: jm
Date: Thu Apr  7 15:02:33 2011
New Revision: 2702

Log:
logs: make sure every line is prefixed for easy merge of several log files

Merging several log files becomes as easy as:

$ sort -sk 1,2 *.log |less

Modified:
    trunk/neo/lib/__init__.py

Modified: trunk/neo/lib/__init__.py
==============================================================================
--- trunk/neo/lib/__init__.py [iso-8859-1] (original)
+++ trunk/neo/lib/__init__.py [iso-8859-1] Thu Apr  7 15:02:33 2011
@@ -18,8 +18,8 @@
 import neo.lib.python
 import logging as logging_std
 
-PREFIX = '%(asctime)s %(levelname)-9s %(name)-10s'
-SUFFIX = ' [%(module)14s:%(lineno)3d] %(message)s'
+FMT = ('%(asctime)s %(levelname)-9s %(name)-10s'
+       ' [%(module)14s:%(lineno)3d] \n%(message)s')
 
 class Formatter(logging_std.Formatter):
 
@@ -27,13 +27,17 @@ class Formatter(logging_std.Formatter):
         return logging_std.Formatter.formatTime(self, record,
            '%Y-%m-%d %H:%M:%S') + '.%04d' % (record.msecs * 10)
 
+    def format(self, record):
+        lines = iter(logging_std.Formatter.format(self, record).splitlines())
+        prefix = lines.next()
+        return '\n'.join(prefix + line for line in lines)
+
 def setupLog(name='NEO', filename=None, verbose=False):
     global logging
     if verbose:
         level = logging_std.DEBUG
     else:
         level = logging_std.INFO
-    fmt = PREFIX + SUFFIX
     logging = logging_std.getLogger(name.upper())
     for handler in logging.handlers[:]:
         logging.removeHandler(handler)
@@ -41,7 +45,7 @@ def setupLog(name='NEO', filename=None, 
         handler = logging_std.StreamHandler()
     else:
         handler = logging_std.FileHandler(filename)
-    handler.setFormatter(Formatter(fmt))
+    handler.setFormatter(Formatter(FMT))
     logging.setLevel(level)
     logging.addHandler(handler)
     logging.propagate = 0




More information about the Neo-report mailing list