Skip to content

Instantly share code, notes, and snippets.

@manuelep
Created December 22, 2022 09:25
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 manuelep/29217dde5ebaa91dbabf715d8ec062be to your computer and use it in GitHub Desktop.
Save manuelep/29217dde5ebaa91dbabf715d8ec062be to your computer and use it in GitHub Desktop.
easy-logging
import logging
import settings
logger = logging.getLogger(settings.APP_NAME)
formatter = logging.Formatter(
"%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s"
)
for item in settings.LOGGERS:
level, filename = item.split(":", 1)
if filename in ("stdout", "stderr"):
handler = logging.StreamHandler(getattr(sys, filename))
else:
handler = logging.FileHandler(filename)
handler.setFormatter(formatter)
logger.setLevel(getattr(logging, level.upper(), "DEBUG"))
logger.addHandler(handler)
if __name__=='__main__':
logger.debug('Just a DEBUG message')
logger.warning("Hey! That's a WARNING!")
logger.critical("BOOOMM!")
# logger settings
# This should be in a separate settings file
APP_NAME = 'foo'
LOGGERS = [
"debug:stdout"
] # syntax "severity:filename" filename can be stderr or stdout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment