Skip to content

Instantly share code, notes, and snippets.

@RensDimmendaal
Last active June 16, 2021 13:33
Show Gist options
  • Save RensDimmendaal/e559c9d25fdef7cc8121d6623a706d7f to your computer and use it in GitHub Desktop.
Save RensDimmendaal/e559c9d25fdef7cc8121d6623a706d7f to your computer and use it in GitHub Desktop.
rich logging
#logger.py
import logging
from rich.logging import RichHandler
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# the handler determines where the logs go: stdout/file
shell_handler = RichHandler()
shell_handler.setLevel(logging.INFO)
fmt_shell = '%(message)s'
shell_formatter = logging.Formatter(fmt_shell)
shell_handler.setFormatter(shell_formatter)
logger.addHandler(shell_handler)
#file_handler.setLevel(logging.DEBUG)
#file_handler = logging.FileHandler("debug.log")
#fmt_file = '%(levelname)s %(asctime)s [%(filename)s:%(funcName)s:%(lineno)d] %(message)s'
#file_formatter = logging.Formatter(fmt_file)
#file_handler.setFormatter(file_formatter)
#logger.addHandler(file_handler)
# other modules
from logger import logger
logger.info(...)
# in a module
from logger import logger
def foo():
logger.debug("bar")
# in a usage script
from logger import logger
from module import foo
if __name__ == "__main__":
logger.setLevel("DEBUG")
foo()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment