Skip to content

Instantly share code, notes, and snippets.

@dmitryhd
Last active July 20, 2017 11:22
Show Gist options
  • Save dmitryhd/aa24075b57360166eaf0 to your computer and use it in GitHub Desktop.
Save dmitryhd/aa24075b57360166eaf0 to your computer and use it in GitHub Desktop.
Convenient logger helper
import logging
import logging.handlers
import os.path as path
def configure_logger(
logger_name='logger',
log_dir='/tmp/',
filename='',
to_stdout=True,
to_file=False,
level=logging.DEBUG,
log_format = '[%(asctime)s] %(levelname)7s :: %(message)s') -> logging.Logger:
if not filename:
filename = logger_name + '.log'
log_location = path.join(log_dir, filename)
logger = logging.getLogger(logger_name)
logger.setLevel(level)
logger.handlers = []
formatter = logging.Formatter(log_format)
# Stdout
if to_stdout:
stdout = logging.StreamHandler()
stdout.setLevel(level)
stdout.setFormatter(formatter)
logger.addHandler(stdout)
# Filehandler
if to_file:
file_handler = logging.handlers.RotatingFileHandler(
log_location,
mode='a',
maxBytes=10**8,
backupCount=1,
)
file_handler.setLevel(level)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
print('Log to file {}'.format(log_location))
logger.propagate = False
return logger
def log_progress_every():
pass
def log_to_slack():
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment