修复日志记录问题

This commit is contained in:
EstrellaXD
2023-05-11 10:00:11 +08:00
parent ac1b37badc
commit 531f27649e
6 changed files with 42 additions and 11 deletions

View File

@@ -3,19 +3,30 @@ import logging
import uvicorn
from module.api import router
from module.conf import settings
from module.conf.uvicorn_logging import logging_config
from module.conf import settings, setup_logger
from module.core import reset_log
log_level = logging.INFO
setup_logger(log_level)
logger = logging.getLogger(__name__)
uvicorn_logging_config = {
"version": 1,
"disable_existing_loggers": False,
"handlers": logger.handlers,
"loggers": {
"uvicorn": {
"level": log_level,
},
}}
if __name__ == "__main__":
if not os.path.isdir("data"):
os.mkdir("data")
reset_log()
uvicorn.run(
router, host="0.0.0.0", port=settings.program.webui_port,
log_config=logging_config,
log_config=uvicorn_logging_config,
)

View File

@@ -2,7 +2,7 @@ import logging
import os
from fastapi import FastAPI
from fastapi.responses import FileResponse, Response
from fastapi.responses import Response
from module.conf import LOG_PATH

View File

@@ -1,11 +1,11 @@
import os
import signal
import logging
import asyncio
from .download import router
from module.core import start_thread, start_program, stop_thread, stop_event
from module.conf import settings, setup_logger
logger = logging.getLogger(__name__)
@@ -13,9 +13,7 @@ logger = logging.getLogger(__name__)
@router.on_event("startup")
async def startup():
log_level = logging.DEBUG if settings.log.debug_enable else logging.INFO
setup_logger(log_level)
start_program()
await start_program()
@router.on_event("shutdown")
@@ -58,3 +56,24 @@ async def shutdown_program():
os.kill(os.getpid(), signal.SIGINT)
return {"status": "ok"}
@router.get("/api/v1/setLog/{log_level}", tags=["program"])
async def set_log_level(log_level: str):
if log_level == "DEBUG":
logger.setLevel(logging.DEBUG)
logger.debug("Log level set to DEBUG")
elif log_level == "INFO":
logger.setLevel(logging.INFO)
logger.info("Log level set to INFO")
elif log_level == "WARNING":
logger.setLevel(logging.WARNING)
logger.warning("Log level set to WARNING")
elif log_level == "ERROR":
logger.setLevel(logging.ERROR)
logger.error("Log level set to ERROR")
elif log_level == "CRITICAL":
logger.setLevel(logging.CRITICAL)
logger.critical("Log level set to CRITICAL")
else:
return {"status": "invalid log level"}
return {"status": "ok"}

View File

@@ -27,7 +27,7 @@ logging_config = {
"level": "INFO",
},
"uvicorn.error": {
"level": "INFO",
"level": "WARNING",
},
"uvicorn.access": {
"handlers": ["console"],

View File

@@ -83,7 +83,7 @@ def start_thread():
return {"status": "ok"}
def start_program():
async def start_program():
global rss_thread, rename_thread
start_info()
if not os.path.exists(DATA_PATH):

View File

@@ -17,6 +17,7 @@ class QbDownloader:
username=username,
password=password,
VERIFY_WEBUI_CERTIFICATE=ssl,
DISABLE_LOGGING_DEBUG_OUTPUT=True
)
self.host = host
self.username = username