Skip to content

Instantly share code, notes, and snippets.

@xudshen
Last active January 4, 2016 08:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xudshen/8593749 to your computer and use it in GitHub Desktop.
Save xudshen/8593749 to your computer and use it in GitHub Desktop.
def create_logger(level, filename):
# create logger
logger = logging.getLogger(__name__)
logger.setLevel(level)
# create file handler and set level to debug
fh = logging.FileHandler(filename)
fh.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("[%(asctime)s][%(levelname)s]%(name)s: %(message)s")
# add formatter to fh
fh.setFormatter(formatter)
# add fh to logger
logger.addHandler(fh)
return logger
LEVELS = {'debug': logging.DEBUG,
'info': logging.INFO,
'warning': logging.WARNING,
'error': logging.ERROR,
'critical': logging.CRITICAL}
now = datetime.datetime.now()
start_time = (now - datetime.timedelta(hours=3)).strftime('%Y-%m-%d %H:00:00')
end_time = (now - datetime.timedelta(hours=2)).strftime('%Y-%m-%d %H:00:00')
if len(sys.argv) > 1:
level_name = sys.argv[1]
level = LEVELS.get(level_name, logging.NOTSET)
logger = create_logger(level, 'logs/' + (now - datetime.timedelta(hours=3)).strftime('%Y%m%d-%H.log'))
else:
logger = create_logger(logging.INFO, 'logs/' + (now - datetime.timedelta(hours=3)).strftime('%Y%m%d-%H.log'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment