Files
xiaozhi-esp32-server/config/logger.py
T

30 lines
1.1 KiB
Python
Raw Normal View History

2025-02-02 23:01:14 +08:00
import os
2025-02-18 00:07:19 +08:00
import sys
from loguru import logger
2025-02-23 15:18:59 +08:00
from config.settings import load_config
def setup_logging():
"""从配置文件中读取日志配置,并设置日志输出格式和级别"""
config = load_config()
log_config = config["log"]
log_format = log_config.get("log_format", "<green>{time:YY-MM-DD HH:mm:ss}</green>[<light-blue>{extra[tag]}</light-blue>] - <level>{level}</level> - <light-green>{message}</light-green>")
log_format_simple = log_config.get("log_format_file", "{time:YYYY-MM-DD HH:mm:ss} - {name} - {level} - {extra[tag]} - {message}")
log_level = log_config.get("log_level", "INFO")
log_dir = log_config.get("log_dir", "tmp")
log_file = log_config.get("log_file", "server.log")
data_dir = log_config.get("data_dir", "data")
2025-02-02 23:01:14 +08:00
os.makedirs(log_dir, exist_ok=True)
os.makedirs(data_dir, exist_ok=True)
2025-02-02 23:01:14 +08:00
2025-02-18 00:07:19 +08:00
# 配置日志输出
logger.remove()
# 输出到控制台
2025-02-23 15:18:59 +08:00
logger.add(sys.stdout, format=log_format, level=log_level)
2025-02-18 00:07:19 +08:00
# 输出到文件
2025-02-23 15:18:59 +08:00
logger.add(os.path.join(log_dir, log_file), format=log_format_simple, level=log_level)
2025-02-18 00:07:19 +08:00
return logger