Skip to content

Instantly share code, notes, and snippets.

@gustavorv86
Last active January 4, 2023 09:44
Show Gist options
  • Save gustavorv86/1343149212939a252051178d05fe5586 to your computer and use it in GitHub Desktop.
Save gustavorv86/1343149212939a252051178d05fe5586 to your computer and use it in GitHub Desktop.
Python3 logging example
import logging
import os
LOG_ENVIRON = "LOGLEVEL"
LOG_LEVEL_DEFAULT = logging.INFO
LOG_FILE = "/tmp/myapplication.log"
LOG_FORMAT = '%(asctime)-15s [%(levelname)s] %(message)s'
LOG_NAME = "myapplication"
def _get_log_level():
log_level = LOG_LEVEL_DEFAULT
if LOG_ENVIRON in os.environ:
log_level_name = os.environ[LOG_ENVIRON].upper()
log_level_int = logging.getLevelName(log_level_name)
if isinstance(log_level_int, int):
log_level = log_level_int
return log_level
def init():
level = _get_log_level()
log = logging.getLogger(LOG_NAME)
log.setLevel(level)
log_formatter = logging.Formatter(LOG_FORMAT)
file_handler = logging.FileHandler(LOG_FILE)
file_handler.setFormatter(log_formatter)
file_handler.setLevel(level)
log.addHandler(file_handler)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(log_formatter)
stream_handler.setLevel(level)
log.addHandler(stream_handler)
return log
def get():
return logging.getLogger(LOG_NAME)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment