Created
September 7, 2017 10:53
-
-
Save njarvis/8e0ceac9738e11626984355384b2fb80 to your computer and use it in GitHub Desktop.
Using coloredlogs.ColoredFormatter with logging.config.fileConfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import coloredlogs | |
class ColoredFormatter(coloredlogs.ColoredFormatter): | |
def __init__(self, fmt=None, datefmt=None, style='%'): | |
'''Match coloredlogs.ColoredFormatter arguments with logging.Formatter''' | |
coloredlogs.ColoredFormatter.__init__(self, fmt=fmt, datefmt=datefmt) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[loggers] | |
keys=root | |
[logger_root] | |
level=DEBUG | |
handlers=console,logfile | |
[handlers] | |
keys=console,logfile | |
[handler_console] | |
class=StreamHandler | |
formatter=verbose_colored | |
args=(sys.stdout, ) | |
level=DEBUG | |
[handler_logfile] | |
class=FileHandler | |
formatter=verbose | |
args=('log','a') | |
level=DEBUG | |
[formatters] | |
keys=verbose,verbose_colored,concise,concise_colored | |
[formatter_verbose] | |
class=logging.Formatter | |
format=[%(asctime)s.%(msecs)03d] [%(process)d/%(thread)s] [%(name)s.%(levelname)s] %(message)s | |
datefmt=%d/%b/%Y:%H:%M:%S | |
[formatter_verbose_colored] | |
class=coloredformatter.ColoredFormatter | |
format=[%(asctime)s.%(msecs)03d] [%(process)d/%(thread)s] [%(name)s.%(levelname)s] %(message)s | |
datefmt=%d/%b/%Y:%H:%M:%S | |
[formatter_concise] | |
class=logging.Formatter | |
format=[%(asctime)s] [%(name)s:%(levelname)s] %(message)s | |
[formatter_concise_colored] | |
class=coloredformatter.ColoredFormatter | |
format=[%(asctime)s] [%(name)s:%(levelname)s] %(message)s |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import logging | |
logging.config.fileConfig('logging.conf') | |
logging.debug('I will be colored') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The coloredlogs.ColoredFormatter signature does not match logging.Formatter, which prevents it being used in a logging configuration file.
The helper class
coloredformatter.ColorerFormatter
shown above fixes up the arguments.