Я открыл маршрут в своем приложении Sanic, чтобы установить уровень журнала на основе клиентского вызова. Например.
from sanic.log import logger, logging
@route("/main")
async def sanic_main(request):
logger.info("Info mesg")
logger.debug("Debug mesg")
return json("processed")
@route("/setlevel")
async def setlevel(request):
level = request.json["level"]
if level == "info":
loglevel = logging.INFO
elif level == "debug":
loglevel = logging.DEBUG
logger.setLevel(loglevel)
return json("done")
Однако при установке уровней журнала между DEBUG и INFO я наблюдаю нестабильное поведение, когда сообщения DEBUG (из «/ main») печатаются только несколько раз и наоборот.
ПРИМЕЧАНИЕ. Я запускаю несколько рабочих процессов Sanic.
Как я должен динамически устанавливать уровень журнала?