openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #06629
[Merge] lp:~openerp-dev/openobject-server/trunk-bugfix-781190 into lp:openobject-server
Jacques-Etienne Baudoux (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/trunk-bugfix-781190 into lp:openobject-server.
Requested reviews:
OpenERP Core Team (openerp)
Related bugs:
Bug #781190 in OpenERP Server: "cron jobs are not logged (log-level=debug)"
https://bugs.launchpad.net/openobject-server/+bug/781190
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bugfix-781190/+merge/60660
Improved logging of rpc calls and cron jobs
--
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bugfix-781190/+merge/60660
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/trunk-bugfix-781190.
=== modified file 'openerp/addons/base/ir/ir_cron.py'
--- openerp/addons/base/ir/ir_cron.py 2011-02-16 14:22:42 +0000
+++ openerp/addons/base/ir/ir_cron.py 2011-05-11 16:11:11 +0000
@@ -20,6 +20,10 @@
##############################################################################
import time
+import sys
+import traceback
+import logging
+from pprint import pformat
from datetime import datetime
from dateutil.relativedelta import relativedelta
import netsvc
@@ -91,10 +95,13 @@
if m and hasattr(m, func):
f = getattr(m, func)
try:
+ depth=(None if self._logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1)
+ netsvc.log('cron', (cr.dbname,uid,'*',model,func)+tuple(args), channel=logging.DEBUG, depth=(None if self._logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1), fn='object.execute')
f(cr, uid, *args)
except Exception, e:
cr.rollback()
- self._logger.exception("Job call of self.pool.get('%s').%s(cr, uid, *%r) failed" % (model, func, args))
+ logger=logging.getLogger('cron')
+ logger.exception("Job call of self.pool.get('%s').%s(cr, uid, *%r) failed" % (model, func, args))
def _poolJobs(self, db_name, check=False):
=== modified file 'openerp/netsvc.py'
--- openerp/netsvc.py 2011-02-07 12:57:23 +0000
+++ openerp/netsvc.py 2011-05-11 16:11:11 +0000
@@ -393,19 +393,21 @@
args[2] = '*'
return args
+def log(title, msg, channel=logging.DEBUG_RPC, depth=None, fn=""):
+ logger = logging.getLogger(title)
+ if logger.isEnabledFor(channel):
+ indent=0
+ for line in (fn+pformat(msg, depth=depth)).split('\n'):
+ logger.log(channel, ' '*indent+line)
+ indent=len(fn)
+
class OpenERPDispatcher:
- def log(self, title, msg, channel=logging.DEBUG_RPC, depth=None):
- logger = logging.getLogger(title)
- if logger.isEnabledFor(channel):
- for line in pformat(msg, depth=depth).split('\n'):
- logger.log(channel, line)
-
+ def log(self, title, msg, channel=logging.DEBUG_RPC, depth=None, fn=""):
+ log(title, msg, channel=channel, depth=depth, fn=fn)
def dispatch(self, service_name, method, params):
try:
logger = logging.getLogger('result')
- self.log('service', service_name)
- self.log('method', method)
- self.log('params', replace_request_password(params), depth=(None if logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1))
+ self.log('service', tuple(replace_request_password(params)), depth=(None if logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1), fn='%s.%s'%(service_name,method))
auth = getattr(self, 'auth_provider', None)
result = ExportService.getService(service_name).dispatch(method, auth, params)
self.log('result', result, channel=logging.DEBUG_RPC_ANSWER)
Follow ups