Skip to content

Instantly share code, notes, and snippets.

@goltsevnet
Last active October 5, 2020 05:08
Show Gist options
  • Select an option

  • Save goltsevnet/7b5848adb192c8c1654f5033c6b4063f to your computer and use it in GitHub Desktop.

Select an option

Save goltsevnet/7b5848adb192c8c1654f5033c6b4063f to your computer and use it in GitHub Desktop.
logging
logging.basicConfig(level=logging.DEBUG)
logger = init_logger(__name__, testing_mode=True)
logger.debug('Testing mode = True')
import logging
import colorlog
def init_logger(dunder_name, testing_mode) -> logging.Logger:
log_format = (
'%(asctime)s - '
'%(name)s - '
'%(funcName)s - '
'%(levelname)s - '
'%(message)s'
)
bold_seq = '\033[1m'
colorlog_format = (
f'{bold_seq} '
'%(log_color)s '
f'{log_format}'
)
colorlog.basicConfig(format=colorlog_format)
logger = logging.getLogger(dunder_name)
if testing_mode:
logger.setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
# Output full log
fh = logging.FileHandler('log/app.log')
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter(log_format)
fh.setFormatter(formatter)
logger.addHandler(fh)
# Output warning log
fh = logging.FileHandler('log/app.warning.log')
fh.setLevel(logging.WARNING)
formatter = logging.Formatter(log_format)
fh.setFormatter(formatter)
logger.addHandler(fh)
# Output error log
fh = logging.FileHandler('log/app.error.log')
fh.setLevel(logging.ERROR)
formatter = logging.Formatter(log_format)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment