[IMP] openerp-server: use a global (at the module level) _logger.

bzr revid: vmt@openerp.com-20120124105333-moq92a20za31m132
This commit is contained in:
Vo Minh Thu 2012-01-24 11:53:33 +01:00
parent 6e3ad4f8c9
commit 0b301cce7e
1 changed files with 13 additions and 16 deletions

View File

@ -30,6 +30,7 @@ GNU Public Licence.
(c) 2003-TODAY, Fabien Pinckaers - OpenERP SA (c) 2003-TODAY, Fabien Pinckaers - OpenERP SA
""" """
import imp
import logging import logging
import os import os
import signal import signal
@ -42,8 +43,8 @@ import openerp
__author__ = openerp.release.author __author__ = openerp.release.author
__version__ = openerp.release.version __version__ = openerp.release.version
import sys # Also use the `openerp` logger for the main script.
import imp _logger = logging.getLogger('openerp')
def check_root_user(): def check_root_user():
""" Exit if the process's user is 'root' (on POSIX system).""" """ Exit if the process's user is 'root' (on POSIX system)."""
@ -69,13 +70,12 @@ def report_configuration():
This function assumes the configuration has been initialized. This function assumes the configuration has been initialized.
""" """
config = openerp.tools.config config = openerp.tools.config
logger = logging.getLogger('server') _logger.info("OpenERP version %s", __version__)
logger.info("OpenERP version %s", __version__)
for name, value in [('addons paths', config['addons_path']), for name, value in [('addons paths', config['addons_path']),
('database hostname', config['db_host'] or 'localhost'), ('database hostname', config['db_host'] or 'localhost'),
('database port', config['db_port'] or '5432'), ('database port', config['db_port'] or '5432'),
('database user', config['db_user'])]: ('database user', config['db_user'])]:
logger.info("%s: %s", name, value) _logger.info("%s: %s", name, value)
def setup_pid_file(): def setup_pid_file():
""" Create a file with the process id written in it. """ Create a file with the process id written in it.
@ -97,32 +97,30 @@ def preload_registry(dbname):
# jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services() # jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services()
registry.schedule_cron_jobs() registry.schedule_cron_jobs()
except Exception: except Exception:
logging.exception('Failed to initialize database `%s`.', dbname) _logger.exception('Failed to initialize database `%s`.', dbname)
def run_test_file(dbname, test_file): def run_test_file(dbname, test_file):
""" Preload a registry, possibly run a test file, and start the cron.""" """ Preload a registry, possibly run a test file, and start the cron."""
try: try:
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'], pooljobs=False) db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'], pooljobs=False)
cr = db.cursor() cr = db.cursor()
logger = logging.getLogger('server') _logger.info('loading test file %s', test_file)
logger.info('loading test file %s', test_file)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), {}, 'test', True) openerp.tools.convert_yaml_import(cr, 'base', file(test_file), {}, 'test', True)
cr.rollback() cr.rollback()
cr.close() cr.close()
except Exception: except Exception:
logging.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file) _logger.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file)
def export_translation(): def export_translation():
config = openerp.tools.config config = openerp.tools.config
dbname = config['db_name'] dbname = config['db_name']
logger = logging.getLogger('server')
if config["language"]: if config["language"]:
msg = "language %s" % (config["language"],) msg = "language %s" % (config["language"],)
else: else:
msg = "new language" msg = "new language"
logger.info('writing translation file for %s to %s', msg, _logger.info('writing translation file for %s to %s', msg,
config["translate_out"]) config["translate_out"])
fileformat = os.path.splitext(config["translate_out"])[-1][1:].lower() fileformat = os.path.splitext(config["translate_out"])[-1][1:].lower()
@ -133,7 +131,7 @@ def export_translation():
cr.close() cr.close()
buf.close() buf.close()
logger.info('translation file written successfully') _logger.info('translation file written successfully')
def import_translation(): def import_translation():
config = openerp.tools.config config = openerp.tools.config
@ -176,7 +174,7 @@ def dumpstacks(sig, frame):
code.append('File: "%s", line %d, in %s' % (filename, lineno, name)) code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
if line: if line:
code.append(" %s" % (line.strip())) code.append(" %s" % (line.strip()))
logging.getLogger('dumpstacks').info("\n".join(code)) _logger.info("\n".join(code))
def setup_signal_handlers(): def setup_signal_handlers():
""" Register the signal handler defined above. """ """ Register the signal handler defined above. """
@ -254,7 +252,7 @@ if __name__ == "__main__":
msg = """ msg = """
The `web` module is provided by the addons found in the `openerp-web` project. The `web` module is provided by the addons found in the `openerp-web` project.
Maybe you forgot to add those addons in your addons_path configuration.""" Maybe you forgot to add those addons in your addons_path configuration."""
logging.exception('Failed to load server-wide module `%s`.%s', m, msg) _logger.exception('Failed to load server-wide module `%s`.%s', m, msg)
if config['db_name']: if config['db_name']:
for dbname in config['db_name'].split(','): for dbname in config['db_name'].split(','):
@ -264,8 +262,7 @@ Maybe you forgot to add those addons in your addons_path configuration."""
sys.exit(0) sys.exit(0)
setup_pid_file() setup_pid_file()
logger = logging.getLogger('server') _logger.info('OpenERP server is running, waiting for connections...')
logger.info('OpenERP server is running, waiting for connections...')
quit_on_signals() quit_on_signals()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: