#! /usr/bin/env python """ report.py Aug 25, 2010 Programmed by Scott Baker. Logging layer for ravenlib. Primarily used to insulate ravenlib from arizonareport, sending messages to the standard python error logger instead. Call enable_arizonareport() to make this module use arizonareport instead of python logging. """ import logging use_arizonareport = False DEBUG = logging.DEBUG def getLogger(): if (use_arizonareport): return None else: return logging.getLogger() def debug(msg): if (use_arizonareport): arizonareport.send_out(4, "[DEBUG] " + msg) else: logging.debug(msg) def info(msg): if (use_arizonareport): arizonareport.send_out(3, "[INFO] " + msg) else: logging.info(msg) def warning(msg): if (use_arizonareport): arizonareport.send_error(2, "[WARNING] " + msg) else: logging.warning(msg) def error(msg): if (use_arizonareport): arizonareport.send_error(0, "[ERROR] " + msg) else: logging.error(msg) def enable_arizonareport(): global use_arizonareport if not use_arizonareport: globals()["arizonareport"] = __import__("arizonareport") use_arizonareport = True