# -*- coding: iso-8859-1 -*-
#-----------------------------------------------------------------------------
# Modeling Framework: an Object-Relational Bridge for python
#
# Copyright (c) 2001-2004 Sbastien Bigaret <sbigaret@users.sourceforge.net>
# All rights reserved.
#
# This file is part of the Modeling Framework.
#
# This code is distributed under a "3-clause BSD"-style license;
# see the LICENSE file for details.
#-----------------------------------------------------------------------------
"""
Module logging
A central module where all logging methods used in the framework are
declared.
trace, debug, info, warn, error, fatal -- These methods are used within
the framework to indicate its activity. Apart during development or
debugging tasks of the core, they normally should not be activated.
Activating them usually implies a great loss of performance.
db_trace, db_debug, db_info, db_warn, db_error, db_fatal -- These methods
are dedicated to the logging of all actions performed against a concrete
database connection. All but db_error and db_fatal are not activated by
default. To activate them, set the environment variable
ENABLE_DATABASE_LOGGING to any non-empty string.
When activated, these methods print their message into sys.stderr
CVS information
$Id: logging.py 932 2004-07-20 06:21:57Z sbigaret $
"""
__version__='$Revision: 932 $'[11:-2]
import os, sys
def log_stderr(msg):
if type(msg) is type(u''):
msg=msg.encode('utf-8')
sys.stderr.write('%s\n'%msg)
no_log=lambda msg, severity=0: None
trace=debug=info=log=warn=error=fatal=no_log
if os.environ.get('MDL_ENABLE_DATABASE_LOGGING'):
db_trace=db_debug=db_info=db_log=db_warn=db_error=db_fatal=log_stderr
else:
db_trace=db_debug=db_info=db_log=db_warn=no_log
db_error=db_fatal=log_stderr
|