gremmie@1: '''This module adds a simple logging facility to the portal. gremmie@1: Applications can log information to a database table for debugging. gremmie@1: The logger is similar to the python logging module. gremmie@1: The verbosity of the logging is controlled via settings.GPP_LOG_LEVEL. gremmie@1: ''' gremmie@1: gremmie@1: from settings import GPP_LOG_LEVEL gremmie@1: from core.models import DebugLog gremmie@1: gremmie@1: DEBUG = 10 gremmie@1: INFO = 20 gremmie@1: WARNING = 30 gremmie@1: ERROR = 40 gremmie@1: CRITICAL = 50 gremmie@1: gremmie@1: def log(level, msg): gremmie@1: if GPP_LOG_LEVEL <= level: gremmie@1: log_item = DebugLog() gremmie@1: log_item.level = level gremmie@1: log_item.msg = msg gremmie@1: log_item.save() gremmie@1: gremmie@1: def debug(msg): gremmie@1: log(DEBUG, msg) gremmie@1: gremmie@1: def info(msg): gremmie@1: log(INFO, msg) gremmie@1: gremmie@1: def warning(msg): gremmie@1: log(WARNING, msg) gremmie@1: gremmie@1: def error(msg): gremmie@1: log(WARNING, msg) gremmie@1: gremmie@1: def critical(msg): gremmie@1: log(WARNING, msg)