################################################################################
#
# This file is part of Gato (Graph Animation Toolbox)
#
# file: logging.py
# author: Alexander Schliep (schliep@molgen.mpg.de)
#
# Copyright (C) 1998-2005, Alexander Schliep, Winfried Hochstaettler and
# Copyright 1998-2001 ZAIK/ZPR, Universitaet zu Koeln
#
# Contact: schliep@molgen.mpg.de, wh@zpr.uni-koeln.de
#
# Information: http://gato.sf.net
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
#
# This file is version $Revision: 1.1 $
# from $Date: 2007/10/04 14:36:39 $
# last change by $Author: edream $.
#
################################################################################
import sys
class Logger:
""" This is a no-frills place holder resembling logging.py from
http://www.red-dove.com/python_logging.html API-wise (restricted to
whats needed for Gato) until the 'real' logging.py becomes part of
the standard distribution. Please dont use or redistribute it.
"""
def __init__(self, module = None):
self.module = module
def log(self, message, prefix, exc_info = None):
if verbose is not None:
if self.module == None:
print "%s: %s" %(prefix, message)
else:
print "%s: [%s] %s" %(prefix, self.module, message)
if exc_info:
exc_info = sys.exc_info()
#print exc_info
import traceback
traceback.print_exc(file=sys.stdout) # Prettier output
def info(self, message):
self.log(message,"INFO")
def debug(self, message):
self.log(message,"DEBUG")
def error(self, message):
self.log(message,"ERROR")
def exception(self, message):
self.log(message,"EXCEPTION", exc_info = 1)
def critical(self, message):
self.log(message,"CRITICAL")
def info(message):
log = getLogger(None)
log.info(message)
def debug(message):
log = getLogger(None)
log.debug(message)
def error(message):
log = getLogger(None)
log.error(message)
def exception(message):
log = getLogger(None)
log.exception(message)
def critical(message):
log = getLogger(None)
log.critical(message)
def getLogger(module = None):
return Logger(module)
verbose = None
|