Skip to content
Snippets Groups Projects
workbook_logging.py 884 B
Newer Older
  • Learn to ignore specific revisions
  • # Based off of code from:
    #   http://stackoverflow.com/questions/384076/how-can-i-color-python-logging-output
    
    import logging
    logging.basicConfig(level=logging.INFO)
    
    def add_coloring_to_emit_ansi(fn):
        # add methods we need to the class
        def new(*args):
            levelno = args[1].levelno
            if(levelno>=50):
                color = '\x1b[31m' # red
            elif(levelno>=40):
                color = '\x1b[31m' # red
            elif(levelno>=30):
                color = '\x1b[33m' # yellow
            elif(levelno>=20):
                color = '\x1b[32m' # green
            elif(levelno>=10):
                color = '\x1b[35m' # pink
            else:
                color = '\x1b[0m' # normal
            args[1].msg = color + args[1].msg +  '\x1b[0m'  # normal
            #print "after"
            return fn(*args)
        return new
    
    logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)