[loggers]
keys = root, sqlalchemy.engine.Engine, uvicorn.access

[handlers]
keys = stream, sqlalchemy, uvicorn

[formatters]
keys = default

[logger_root]
level = INFO
propagate = 0
handlers = stream

[logger_sqlalchemy.engine.Engine]
level = INFO
propagate = 0
handlers = sqlalchemy
qualname = sqlalchemy.engine.Engine

[logger_uvicorn.access]
level = INFO
propagate = 0
handlers = uvicorn
qualname = uvicorn.access

[handler_stream]
class = app.utils.logging.RichConsoleHandler
kwargs = {"omit_repeated_times":True, "show_time": False, "enable_link_path": False, "tracebacks_show_locals": True}
args = (100, "white")
formatter = default
stream = ext://sys.stdout

[handler_sqlalchemy]
class = app.utils.logging.RichConsoleHandler
kwargs = {"omit_repeated_times":True, "show_time": False, "enable_link_path": False, "tracebacks_show_locals": True}
args = (100, "magenta")
formatter = default

[handler_uvicorn]
class = app.utils.logging.RichConsoleHandler
kwargs = {"omit_repeated_times":True, "show_time": False, "enable_link_path": False, "tracebacks_show_locals": True}
args = (100, "yellow")
formatter = default

[formatter_default]
format = [%(process)d|%(name)-12s] %(message)s
class = logging.Formatter