handler.setFormatter(formatter)
# Configure handlers
+ default_config = [
+ 'openerp.netsvc.rpc.request:INFO',
+ 'openerp.netsvc.rpc.response:INFO',
+ 'openerp.addons.web.common.http:INFO',
+ 'openerp.addons.web.common.openerplib:INFO',
+ 'openerp.sql_db:INFO',
+ ':INFO',
+ ]
+
+ if tools.config['log_level'] == 'info':
+ pseudo_config = []
+ elif tools.config['log_level'] == 'debug_rpc':
+ pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG']
+ elif tools.config['log_level'] == 'debug_rpc_answer':
+ pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG', 'openerp.netsvc.rpc.response:DEBUG']
+ elif tools.config['log_level'] == 'debug':
+ pseudo_config = ['openerp:DEBUG']
+ elif tools.config['log_level'] == 'test':
+ pseudo_config = ['openerp:TEST']
+ elif tools.config['log_level'] == 'warn':
+ pseudo_config = ['openerp:WARNING']
+ elif tools.config['log_level'] == 'error':
+ pseudo_config = ['openerp:ERROR']
+ elif tools.config['log_level'] == 'critical':
+ pseudo_config = ['openerp:CRITICAL']
+ elif tools.config['log_level'] == 'debug_sql':
+ pseudo_config = ['openerp.sql_db:DEBUG']
+ else:
+ pseudo_config = []
+
logconfig = tools.config['log_handler']
- for logconfig_item in logconfig:
+
+ for logconfig_item in default_config + pseudo_config + logconfig:
loggername, level = logconfig_item.split(':')
level = getattr(logging, level, logging.INFO)
logger = logging.getLogger(loggername)
if loggername != '':
logger.propagate = False
+ for logconfig_item in default_config + pseudo_config + logconfig:
+ _logger.debug('logger level set: "%s"', logconfig_item)
# A alternative logging scheme for automated runs of the
# server intended to test it.
NET-RPC) is done in a upper layer.
"""
try:
- rpc_short = logging.getLogger(__name__ + '.rpc_short')
- rpc_full = logging.getLogger(__name__ + '.rpc_full')
- rpc_short_flag = rpc_short.isEnabledFor(logging.DEBUG)
- rpc_full_flag = rpc_full.isEnabledFor(logging.DEBUG)
- if rpc_short_flag or rpc_full_flag:
+ rpc_request = logging.getLogger(__name__ + '.rpc.request')
+ rpc_response = logging.getLogger(__name__ + '.rpc.response')
+ rpc_request_flag = rpc_request.isEnabledFor(logging.DEBUG)
+ rpc_response_flag = rpc_response.isEnabledFor(logging.DEBUG)
+ if rpc_request_flag or rpc_response_flag:
start_time = time.time()
- if rpc_full_flag:
- log(rpc_full,logging.DEBUG,'%s.%s:request '%(service_name,method), replace_request_password(params))
+ if rpc_request and rpc_response_flag:
+ log(rpc_request,logging.DEBUG,'%s.%s'%(service_name,method), replace_request_password(params))
+ threading.current_thread().uid = None
+ threading.current_thread().dbname = None
result = ExportService.getService(service_name).dispatch(method, params)
- if rpc_short_flag or rpc_full_flag:
+ if rpc_request_flag or rpc_response_flag:
end_time = time.time()
- if rpc_full_flag:
- log(rpc_full,logging.DEBUG,'%s.%s:reply time:%.3fs '%(service_name,method,end_time - start_time), result)
+ if rpc_response_flag:
+ log(rpc_response,logging.DEBUG,'%s.%s time:%.3fs '%(service_name,method,end_time - start_time), result)
else:
- log(rpc_short,logging.DEBUG,'%s.%s time:%.3fs '%(service_name,method,end_time - start_time), replace_request_password(params), depth=1)
+ log(rpc_request,logging.DEBUG,'%s.%s time:%.3fs '%(service_name,method,end_time - start_time), replace_request_password(params), depth=1)
return result
except openerp.exceptions.AccessError: