Skip to content

Instantly share code, notes, and snippets.

@meysam81
Last active October 19, 2020 09:51
Show Gist options
  • Save meysam81/d5510845fa93cc57a9b15f920fe0302d to your computer and use it in GitHub Desktop.
Save meysam81/d5510845fa93cc57a9b15f920fe0302d to your computer and use it in GitHub Desktop.
my yummy logger
import os
import logging
import aiologger
from aiologger.formatters.json import Formatter
NOCOLOR = "\033[0m"
RED = "\033[01;31m"
GREEN = "\033[01;32m"
ORANGE = "\033[01;33m"
BLUE = "\033[01;34m"
PURPLE = "\033[01;35m"
CYAN = "\033[01;36m"
LIGHTGRAY = "\033[01;37m"
DARKGRAY = "\033[1;30m"
LIGHTRED = "\033[1;31m"
LIGHTGREEN = "\033[1;32m"
YELLOW = "\033[1;33m"
LIGHTBLUE = "\033[1;34m"
LIGHTPURPLE = "\033[1;35m"
LIGHTCYAN = "\033[1;36m"
WHITE = "\033[1;37m"
def create_logger(logger_name: str, log_level=logging.INFO) -> aiologger.Logger:
log_format = (
f"{PURPLE}%(asctime)s {WHITE}%(levelname)s "
f"{YELLOW}%(pathname)s(%(lineno)d) {LIGHTCYAN}%(message)s"
)
log_level = logging.DEBUG if os.getenv("ENV") == "DEVELOPMENT" else log_level
logging.root.setLevel(log_level)
formatter = Formatter(log_format)
logger = aiologger.Logger.with_default_handlers(
name=logger_name, level=log_level, formatter=formatter
)
return logger
import logging
from colorlog import ColoredFormatter
def create_logger(logger_name, log_level = logging.INFO):
log_format = """%(bg_black)s%(asctime)s%(reset)s %(log_color)s%(levelname)
-1s%(reset)s %(bold_cyan)s%(name)s %(fg_yellow)s(%(pathname)s:
%(lineno)s)%(reset)s: %(bg_blue)s%(fg_white)s%(message)s"""
logging.root.setLevel(log_level)
formatter = ColoredFormatter(log_format)
stream = logging.StreamHandler()
stream.setLevel(log_level)
stream.setFormatter(formatter)
log = logging.getLogger(logger_name)
log.setLevel(log_level)
log.addHandler(stream)
return log
[loggers]
keys=root, gunicorn.error, gunicorn.access
[handlers]
keys=console, error_file, access_file
[formatters]
keys=generic, access
[logger_root]
level=DEBUG
handlers=console
[logger_gunicorn.error]
level=DEBUG
handlers=error_file
propagate=1
qualname=gunicorn.error
[logger_gunicorn.access]
level=DEBUG
handlers=access_file
propagate=0
qualname=gunicorn.access
[handler_console]
class=StreamHandler
formatter=generic
args=(sys.stdout, )
[handler_error_file]
class=logging.FileHandler
formatter=generic
args=('/tmp/gunicorn.error.log',)
[handler_access_file]
class=logging.FileHandler
formatter=access
args=('/tmp/gunicorn.access.log',)
[formatter_generic]
format=%(bg_black)s%(asctime)s%(reset)s %(log_color)s%(levelname)-1s%(reset)s %(bold_cyan)s%(name)s %(fg_yellow)s(%(pathname)s:%(lineno)s)%(reset)s: %(bg_blue)s%(fg_white)s%(message)s
datefmt=%Y-%m-%d %H:%M:%S
class=colorlog.ColoredFormatter
[formatter_access]
format=%(bg_black)s%(asctime)s%(reset)s %(log_color)s%(levelname)-1s%(reset)s %(bold_cyan)s%(name)s %(fg_yellow)s(%(pathname)s:%(lineno)s)%(reset)s: %(bg_blue)s%(fg_white)s%(message)s
class=colorlog.ColoredFormatter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment