I'm using uvicorn to start, programmaticly, multiple servers.
But logs were always uvicorn.error or uvicorn.access.
I need to make a difference regarding the source server emitting the log.
I added an optional parameter in Config constructor to allow overriding the loggers names.
And i patched the code to use the logger coming from Config instead of using global objects.
So, as an example, adding this parameter
logger_mappings = { "general": "mylogger.general", "access": "mylogger.access", "asgi": "mylogger.asgi", }
to the Config constructor shall configure the logging in the correct loggers.
I did hack a bit the Config object to maintain maximum compatibility with existing code.
PS: If you find my code is ugly, i agree and i'm willing to improve it.
PS2: Forgive my english
I'm using uvicorn to start, programmaticly, multiple servers. But logs were always uvicorn.error or uvicorn.access. I need to make a difference regarding the source server emitting the log.
I added an optional parameter in Config constructor to allow overriding the loggers names. And i patched the code to use the logger coming from Config instead of using global objects.
So, as an example, adding this parameter logger_mappings = { "general": "mylogger.general", "access": "mylogger.access", "asgi": "mylogger.asgi", } to the Config constructor shall configure the logging in the correct loggers.
I did hack a bit the Config object to maintain maximum compatibility with existing code.
PS: If you find my code is ugly, i agree and i'm willing to improve it. PS2: Forgive my english