[IMP] openerp.service: _logger with fully qualified module name.
bzr revid: vmt@openerp.com-20120124150750-0bn7nagjx9k3bi6j
This commit is contained in:
parent
a142292f91
commit
ada52a1beb
|
@ -46,6 +46,8 @@ import openerp.wsgi
|
|||
low-level behavior of the wire.
|
||||
"""
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
def start_services():
|
||||
""" Start all services.
|
||||
|
||||
|
@ -80,9 +82,8 @@ def stop_services():
|
|||
openerp.netsvc.Server.quitAll()
|
||||
openerp.wsgi.stop_server()
|
||||
config = openerp.tools.config
|
||||
logger = logging.getLogger('server')
|
||||
logger.info("Initiating shutdown")
|
||||
logger.info("Hit CTRL-C again or send a second signal to force the shutdown.")
|
||||
_logger.info("Initiating shutdown")
|
||||
_logger.info("Hit CTRL-C again or send a second signal to force the shutdown.")
|
||||
logging.shutdown()
|
||||
|
||||
# Manually join() all threads before calling sys.exit() to allow a second signal
|
||||
|
|
|
@ -60,6 +60,8 @@ try:
|
|||
except ImportError:
|
||||
class SSLError(Exception): pass
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class HttpLogHandler:
|
||||
""" helper class for uniform log handling
|
||||
Please define self._logger at each class that is derived from this
|
||||
|
@ -120,8 +122,7 @@ def init_static_http():
|
|||
|
||||
reg_http_service(base_path, StaticHTTPHandler)
|
||||
|
||||
logging.getLogger("web-services").info("Registered HTTP dir %s for %s" % \
|
||||
(document_root, base_path))
|
||||
_logger.info("Registered HTTP dir %s for %s", document_root, base_path)
|
||||
|
||||
import security
|
||||
|
||||
|
@ -140,11 +141,11 @@ class OpenERPAuthProvider(AuthProvider):
|
|||
return False
|
||||
return (user, passwd, db, uid)
|
||||
except Exception,e:
|
||||
logging.getLogger("auth").debug("Fail auth: %s" % e )
|
||||
_logger.debug("Fail auth: %s" % e )
|
||||
return False
|
||||
|
||||
def log(self, msg, lvl=logging.INFO):
|
||||
logging.getLogger("auth").log(lvl,msg)
|
||||
_logger.log(lvl,msg)
|
||||
|
||||
def checkRequest(self,handler,path, db=False):
|
||||
auth_str = handler.headers.get('Authorization',False)
|
||||
|
|
|
@ -36,6 +36,8 @@ import openerp.netsvc as netsvc
|
|||
import openerp.tiny_socket as tiny_socket
|
||||
import openerp.tools as tools
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class TinySocketClientThread(threading.Thread):
|
||||
def __init__(self, sock, threads):
|
||||
spn = sock and sock.getpeername()
|
||||
|
@ -69,12 +71,12 @@ class TinySocketClientThread(threading.Thread):
|
|||
valid_exception = Exception(netrpc_handle_exception_legacy(e))
|
||||
valid_traceback = getattr(e, 'traceback', sys.exc_info())
|
||||
formatted_traceback = "".join(traceback.format_exception(*valid_traceback))
|
||||
logging.getLogger('web-services').debug("netrpc: communication-level exception", exc_info=True)
|
||||
_logger.debug("netrpc: communication-level exception", exc_info=True)
|
||||
ts.mysend(valid_exception, exception=True, traceback=formatted_traceback)
|
||||
break
|
||||
except Exception, ex:
|
||||
#terminate this channel if we can't properly send back the error
|
||||
logging.getLogger('web-services').exception("netrpc: cannot deliver exception message to client")
|
||||
_logger.exception("netrpc: cannot deliver exception message to client")
|
||||
break
|
||||
|
||||
netsvc.close_socket(self.sock)
|
||||
|
@ -127,11 +129,10 @@ class TinySocketServerThread(threading.Thread,netsvc.Server):
|
|||
if (lt > 10) and (lt % 10 == 0):
|
||||
# Not many threads should be serving at the same time, so log
|
||||
# their abuse.
|
||||
netsvc.Logger().notifyChannel("web-services", netsvc.LOG_DEBUG,
|
||||
"Netrpc: %d threads" % len(self.threads))
|
||||
_logger.debug("Netrpc: %d threads", len(self.threads))
|
||||
self.socket.close()
|
||||
except Exception, e:
|
||||
logging.getLogger('web-services').warning("Netrpc: closing because of exception %s" % str(e))
|
||||
_logger.warning("Netrpc: closing because of exception %s" % str(e))
|
||||
self.socket.close()
|
||||
return False
|
||||
|
||||
|
|
|
@ -50,6 +50,8 @@ from openerp.service import http_server
|
|||
procedures to be called. Each method has its own arguments footprint.
|
||||
"""
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
RPC_VERSION_1 = {'server_version': '6.1', 'protocol_version': 1}
|
||||
|
||||
# This should be moved to openerp.modules.db, along side initialize().
|
||||
|
@ -83,7 +85,7 @@ def _initialize_db(serv, id, db_name, demo, lang, user_password):
|
|||
cr.close()
|
||||
except Exception, e:
|
||||
serv.actions[id].update(clean=False, exception=e)
|
||||
logging.getLogger('db.create').exception('CREATE DATABASE failed:')
|
||||
_logger.exception('CREATE DATABASE failed:')
|
||||
serv.actions[id]['traceback'] = traceback.format_exc()
|
||||
if cr:
|
||||
cr.close()
|
||||
|
@ -134,7 +136,7 @@ class db(netsvc.ExportService):
|
|||
|
||||
self._create_empty_database(db_name)
|
||||
|
||||
logging.getLogger('db.create').info('CREATE DATABASE %s', db_name.lower())
|
||||
_logger.info('CREATE DATABASE %s', db_name.lower())
|
||||
create_thread = threading.Thread(target=_initialize_db,
|
||||
args=(self, id, db_name, demo, lang, user_password))
|
||||
create_thread.start()
|
||||
|
@ -150,7 +152,7 @@ class db(netsvc.ExportService):
|
|||
|
||||
self.actions[id] = {'clean': False}
|
||||
|
||||
logging.getLogger('db.create').info('CREATE DATABASE %s', db_name.lower())
|
||||
_logger.info('CREATE DATABASE %s', db_name.lower())
|
||||
self._create_empty_database(db_name)
|
||||
_initialize_db(self, id, db_name, demo, lang, user_password)
|
||||
return True
|
||||
|
@ -173,7 +175,6 @@ class db(netsvc.ExportService):
|
|||
def exp_drop(self, db_name):
|
||||
openerp.modules.registry.RegistryManager.delete(db_name)
|
||||
sql_db.close_db(db_name)
|
||||
logger = netsvc.Logger()
|
||||
|
||||
db = sql_db.db_connect('template1')
|
||||
cr = db.cursor()
|
||||
|
@ -182,12 +183,10 @@ class db(netsvc.ExportService):
|
|||
try:
|
||||
cr.execute('DROP DATABASE "%s"' % db_name)
|
||||
except Exception, e:
|
||||
logger.notifyChannel("web-services", netsvc.LOG_ERROR,
|
||||
'DROP DB: %s failed:\n%s' % (db_name, e))
|
||||
_logger.error('DROP DB: %s failed:\n%s', db_name, e)
|
||||
raise Exception("Couldn't drop database %s: %s" % (db_name, e))
|
||||
else:
|
||||
logger.notifyChannel("web-services", netsvc.LOG_INFO,
|
||||
'DROP DB: %s' % (db_name))
|
||||
_logger.info('DROP DB: %s', db_name)
|
||||
finally:
|
||||
cr.close()
|
||||
return True
|
||||
|
@ -202,8 +201,6 @@ class db(netsvc.ExportService):
|
|||
os.environ['PGPASSWORD'] = ''
|
||||
|
||||
def exp_dump(self, db_name):
|
||||
logger = netsvc.Logger()
|
||||
|
||||
self._set_pg_psw_env_var()
|
||||
|
||||
cmd = ['pg_dump', '--format=c', '--no-owner']
|
||||
|
@ -220,24 +217,19 @@ class db(netsvc.ExportService):
|
|||
data = stdout.read()
|
||||
res = stdout.close()
|
||||
if res:
|
||||
logger.notifyChannel("web-services", netsvc.LOG_ERROR,
|
||||
'DUMP DB: %s failed\n%s' % (db_name, data))
|
||||
_logger.error('DUMP DB: %s failed\n%s', db_name, data)
|
||||
raise Exception, "Couldn't dump database"
|
||||
logger.notifyChannel("web-services", netsvc.LOG_INFO,
|
||||
'DUMP DB: %s' % (db_name))
|
||||
_logger.info('DUMP DB: %s', db_name)
|
||||
|
||||
self._unset_pg_psw_env_var()
|
||||
|
||||
return base64.encodestring(data)
|
||||
|
||||
def exp_restore(self, db_name, data):
|
||||
logger = netsvc.Logger()
|
||||
|
||||
self._set_pg_psw_env_var()
|
||||
|
||||
if self.exp_db_exist(db_name):
|
||||
logger.notifyChannel("web-services", netsvc.LOG_WARNING,
|
||||
'RESTORE DB: %s already exists' % (db_name,))
|
||||
_logger.warning('RESTORE DB: %s already exists', db_name)
|
||||
raise Exception, "Database already exists"
|
||||
|
||||
self._create_empty_database(db_name)
|
||||
|
@ -266,8 +258,7 @@ class db(netsvc.ExportService):
|
|||
res = stdout.close()
|
||||
if res:
|
||||
raise Exception, "Couldn't restore database"
|
||||
logger.notifyChannel("web-services", netsvc.LOG_INFO,
|
||||
'RESTORE DB: %s' % (db_name))
|
||||
_logger.info('RESTORE DB: %s', db_name)
|
||||
|
||||
self._unset_pg_psw_env_var()
|
||||
|
||||
|
@ -276,7 +267,6 @@ class db(netsvc.ExportService):
|
|||
def exp_rename(self, old_name, new_name):
|
||||
openerp.modules.registry.RegistryManager.delete(old_name)
|
||||
sql_db.close_db(old_name)
|
||||
logger = netsvc.Logger()
|
||||
|
||||
db = sql_db.db_connect('template1')
|
||||
cr = db.cursor()
|
||||
|
@ -285,16 +275,14 @@ class db(netsvc.ExportService):
|
|||
try:
|
||||
cr.execute('ALTER DATABASE "%s" RENAME TO "%s"' % (old_name, new_name))
|
||||
except Exception, e:
|
||||
logger.notifyChannel("web-services", netsvc.LOG_ERROR,
|
||||
'RENAME DB: %s -> %s failed:\n%s' % (old_name, new_name, e))
|
||||
_logger.error('RENAME DB: %s -> %s failed:\n%s', old_name, new_name, e)
|
||||
raise Exception("Couldn't rename database %s to %s: %s" % (old_name, new_name, e))
|
||||
else:
|
||||
fs = os.path.join(tools.config['root_path'], 'filestore')
|
||||
if os.path.exists(os.path.join(fs, old_name)):
|
||||
os.rename(os.path.join(fs, old_name), os.path.join(fs, new_name))
|
||||
|
||||
logger.notifyChannel("web-services", netsvc.LOG_INFO,
|
||||
'RENAME DB: %s -> %s' % (old_name, new_name))
|
||||
_logger.info('RENAME DB: %s -> %s', old_name, new_name)
|
||||
finally:
|
||||
cr.close()
|
||||
return True
|
||||
|
@ -369,7 +357,6 @@ class db(netsvc.ExportService):
|
|||
return True
|
||||
|
||||
class common(netsvc.ExportService):
|
||||
_logger = logging.getLogger('web-services')
|
||||
|
||||
def __init__(self,name="common"):
|
||||
netsvc.ExportService.__init__(self,name)
|
||||
|
@ -394,7 +381,7 @@ class common(netsvc.ExportService):
|
|||
# the res.users model
|
||||
res = security.login(db, login, password)
|
||||
msg = res and 'successful login' or 'bad login or password'
|
||||
self._logger.info("%s from '%s' using database '%s'", msg, login, db.lower())
|
||||
_logger.info("%s from '%s' using database '%s'", msg, login, db.lower())
|
||||
return res or False
|
||||
|
||||
def exp_authenticate(self, db, login, password, user_agent_env):
|
||||
|
@ -560,9 +547,8 @@ GNU Public Licence.
|
|||
return os.times()
|
||||
|
||||
def exp_get_sqlcount(self):
|
||||
logger = logging.getLogger('db.cursor')
|
||||
if not logger.isEnabledFor(logging.DEBUG_SQL):
|
||||
logger.warning("Counters of SQL will not be reliable unless DEBUG_SQL is set at the server's config.")
|
||||
if not _logger.isEnabledFor(logging.DEBUG_SQL):
|
||||
_logger.warning("Counters of SQL will not be reliable unless DEBUG_SQL is set at the server's config.")
|
||||
return sql_db.sql_counter
|
||||
|
||||
|
||||
|
@ -693,9 +679,7 @@ class report_spool(netsvc.ExportService):
|
|||
|
||||
tb = sys.exc_info()
|
||||
tb_s = "".join(traceback.format_exception(*tb))
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel('web-services', netsvc.LOG_ERROR,
|
||||
'Exception: %s\n%s' % (str(exception), tb_s))
|
||||
_logger.error('Exception: %s\n%s', str(exception), tb_s)
|
||||
if hasattr(exception, 'name') and hasattr(exception, 'value'):
|
||||
self._reports[id]['exception'] = openerp.exceptions.DeferredException(tools.ustr(exception.name), tools.ustr(exception.value))
|
||||
else:
|
||||
|
@ -736,9 +720,7 @@ class report_spool(netsvc.ExportService):
|
|||
|
||||
tb = sys.exc_info()
|
||||
tb_s = "".join(traceback.format_exception(*tb))
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel('web-services', netsvc.LOG_ERROR,
|
||||
'Exception: %s\n%s' % (str(exception), tb_s))
|
||||
_logger.errro('Exception: %s\n%s', str(exception), tb_s)
|
||||
if hasattr(exception, 'name') and hasattr(exception, 'value'):
|
||||
self._reports[id]['exception'] = openerp.exceptions.DeferredException(tools.ustr(exception.name), tools.ustr(exception.value))
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue