Source code for climaf.clogging

import logging

logdir="."

class MyFormatter(logging.Formatter):
    def format(self, record):
        record.levelname = record.levelname.lower()
        return logging.Formatter.format(self, record)

def log_l():
    global formatter
    logger = logging.getLogger('')
    # create formatter
    formatter = MyFormatter('%(levelname)-8s : %(message)s')#logging.Formatter
    return logger

def log_e():
    global formatter
    logger = logging.getLogger('')
    # create formatter
    formatter = MyFormatter('[%(funcName)-10.10s : %(filename)-10s, L. %(lineno)-4d] : %(levelname)-8s : %(message)s')#logging.Formatter
    return logger

clogger=log_l()

[docs]def clog(level=None) : """ Sets the verbosity level for CliMAF log messages on stderr. Args: level(str) : among : \"debug\", \"info\", \"warning\", \"critical\" Note : at CliMAF startup, the level is set to the value of envrionment variable $CLIMAF_LOG_LEVEL """ if (level) : clogger.setLevel(transl(level)) exist_stream_handler=False for h in clogger.handlers : if type(h) is logging.StreamHandler : #print "il existe deja un StreamHandler => on change le niveau d informations et on formatte le msg ", h #clogger.setLevel(arg) h.setFormatter(formatter) exist_stream_handler=True if not exist_stream_handler : #print "ajout d un StreamHandler" console = logging.StreamHandler() #console.setLevel(arg) console.setFormatter(formatter) clogger.addHandler(console)
[docs]def clog_file(level=None) : """ Sets the verbosity level for CliMAF log messages on file CLIMAF_LOG_DIR/climaf.log Args: level(str) : among : \"debug\", \"info\", \"warning\", \"critical\" Note : at CliMAF startup, the level is set to the value of environment variable $CLIMAF_LOGFILE_LEVEL """ exist_file_handler=False for h in clogger.handlers : if type(h) is logging.FileHandler : #print "il existe deja un FileHandler => on change le niveau d informations", h if level : h.setLevel(transl(level)) h.setFormatter(formatter) exist_file_handler=True if exist_file_handler==False: #print "ajout d un FileHandler" fh = logging.FileHandler(logdir+"/"+'climaf.log',mode='w') if level : fh.setLevel(transl(level)) fh.setFormatter(formatter) clogger.addHandler(fh)
def indent(): """ Forces log messages to be indented by one more TAB """ global formatter form="\t"+getattr(formatter,'_fmt') formatter = MyFormatter(form)#logging.Formatter(form) clog() clog_file() def dedent(n=1): """ Forces log messages to be de-indented by one or more TAB """ global formatter form=getattr(formatter,'_fmt').replace("\t","",n) formatter = MyFormatter(form)#logging.Formatter(form) clog() clog_file() def transl(level) : if type(level) is str: if level.lower()=='debug': return logging.DEBUG elif level.lower()=='critical': return logging.CRITICAL elif level.lower()=='info': return logging.INFO elif level.lower()=='warning': return logging.WARNING elif level.lower()=='error': return logging.ERROR else : return level