feat: 接入logger
This commit is contained in:
@@ -1,45 +1,36 @@
|
||||
from loguru import logger as _logger
|
||||
import sys
|
||||
import os
|
||||
from app.utils.config import LogConfig
|
||||
from pathlib import Path
|
||||
|
||||
config = LogConfig()
|
||||
LOG_DIR = config.log_dir
|
||||
os.makedirs(LOG_DIR, exist_ok=True)
|
||||
(Path.cwd() / "debug").mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
_logger.remove()
|
||||
|
||||
console_format = (
|
||||
"<green>{time:YYYY-MM-DD HH:mm:ss}</green>| "
|
||||
"<level>{level: <8}</level> | "
|
||||
"<yellow>{extra[module]}</yellow>- {message}"
|
||||
|
||||
_logger.add(
|
||||
sink=Path.cwd() / "debug/app.log",
|
||||
level="INFO",
|
||||
format="<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | <level>{level: <8}</level> | <cyan>{extra[module]}</cyan> | <level>{message}</level>",
|
||||
enqueue=True,
|
||||
backtrace=True,
|
||||
diagnose=True,
|
||||
rotation="1 week",
|
||||
retention="1 month",
|
||||
compression="zip",
|
||||
)
|
||||
|
||||
_logger.add(
|
||||
sink=sys.stderr,
|
||||
format=console_format,
|
||||
level=config.level,
|
||||
level="DEBUG",
|
||||
format="<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | <level>{level: <8}</level> | <cyan>{extra[module]}</cyan> | <level>{message}</level>",
|
||||
enqueue=True,
|
||||
backtrace=True,
|
||||
diagnose=True,
|
||||
colorize=True,
|
||||
enqueue=True,
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
file_format = "{time:YYYY-MM-DD HH:mm:ss}| {level: <8} | {extra[module]}- {message}"
|
||||
|
||||
_logger.add(
|
||||
sink=os.path.join(LOG_DIR, "app_{time:YYYY-MM-DD}.log"),
|
||||
format=file_format,
|
||||
level=config.writelevel,
|
||||
rotation="00:00",
|
||||
retention="7 days",
|
||||
colorize=False,
|
||||
encoding="utf-8",
|
||||
enqueue=True,
|
||||
)
|
||||
|
||||
_logger = _logger.patch(lambda record: record["extra"].setdefault("module", "未知模块"))
|
||||
|
||||
|
||||
@@ -53,18 +44,3 @@ def get_logger(module_name: str):
|
||||
|
||||
|
||||
__all__ = ["get_logger"]
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
logger = get_logger("test1")
|
||||
logger.debug("调试信息(只在控制台显示)")
|
||||
logger.info("这是普通信息(控制台 + 文件)")
|
||||
logger.warning("这是警告")
|
||||
logger.error("发生错误")
|
||||
logger2 = get_logger("test2")
|
||||
logger2.error("发生错误")
|
||||
|
||||
try:
|
||||
_ = 1 / 0
|
||||
except Exception:
|
||||
logger.exception("捕获异常")
|
||||
|
||||
Reference in New Issue
Block a user