Last active
July 20, 2017 11:22
-
-
Save dmitryhd/aa24075b57360166eaf0 to your computer and use it in GitHub Desktop.
Convenient logger helper
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
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