mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-28 10:03:54 +08:00
使用配置文件设置日志参数 (#116)
* 使用配置文件设置日志参数 * update:优化 --------- Co-authored-by: 欣南科技 <huangrongzhuang@xin-nan.com> Co-authored-by: hrz <1710360675@qq.com>
This commit is contained in:
@@ -167,9 +167,10 @@ server:
|
|||||||
|
|
||||||
### ASR
|
### ASR
|
||||||
|
|
||||||
| 类型 | 平台名称 | 使用方式 | 收费模式 | 备注 |
|
| 类型 | 平台名称 | 使用方式 | 收费模式 | 备注 |
|
||||||
|:---:|:------:|:----:|:----:|:--:|
|
|:---:|:---------:|:----:|:----:|:--:|
|
||||||
| ASR | FunASR | 本地使用 | 免费 | |
|
| ASR | FunASR | 本地使用 | 免费 | |
|
||||||
|
| ASR | DoubaoASR | 接口调用 | 收费 | |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -179,22 +180,15 @@ server:
|
|||||||
|
|
||||||
本项目支持以下三种部署方式,您可根据实际需求选择:
|
本项目支持以下三种部署方式,您可根据实际需求选择:
|
||||||
|
|
||||||
1. **[Docker 快速部署](./docs/Deployment.md)**
|
1. [Docker 快速部署](./docs/Deployment.md)
|
||||||
适合快速体验,不需过多环境配置。缺点是,拉取镜像有点慢。
|
适合快速体验,不需过多环境配置。缺点是,拉取镜像有点慢。
|
||||||
2.
|
|
||||||
*
|
|
||||||
|
|
||||||
*[借助 Docker 环境运行部署](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E5%80%9F%E5%8A%A9docker%E7%8E%AF%E5%A2%83%E8%BF%90%E8%A1%8C%E9%83%A8%E7%BD%B2)
|
2. [借助 Docker 环境运行部署](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E5%80%9F%E5%8A%A9docker%E7%8E%AF%E5%A2%83%E8%BF%90%E8%A1%8C%E9%83%A8%E7%BD%B2)
|
||||||
**
|
适用于已安装 Docker 且希望对代码进行自定义修改的用户。
|
||||||
适用于已安装 Docker 且希望对代码进行自定义修改的用户。
|
|
||||||
|
|
||||||
3.
|
3. [本地源码运行](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%89%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C)
|
||||||
*
|
适合熟悉 Conda 环境或希望从零搭建运行环境的用户。
|
||||||
|
对于对响应速度要求较高的场景,推荐使用本地源码运行方式以降低额外开销。
|
||||||
*[本地源码运行](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%89%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C)
|
|
||||||
**
|
|
||||||
适合熟悉 Conda 环境或希望从零搭建运行环境的用户。
|
|
||||||
对于对响应速度要求较高的场景,推荐使用本地源码运行方式以降低额外开销。
|
|
||||||
|
|
||||||
### 二、[固件编译](./docs/firmware-build.md)
|
### 二、[固件编译](./docs/firmware-build.md)
|
||||||
|
|
||||||
|
|||||||
+13
@@ -22,6 +22,19 @@ server:
|
|||||||
# 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。
|
# 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。
|
||||||
#allowed_devices:
|
#allowed_devices:
|
||||||
# - "24:0A:C4:1D:3B:F0" # MAC地址列表
|
# - "24:0A:C4:1D:3B:F0" # MAC地址列表
|
||||||
|
log:
|
||||||
|
# 设置控制台输出的日志格式,时间、日志级别、标签、消息
|
||||||
|
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: "{time:YYYY-MM-DD HH:mm:ss} - {name} - {level} - {extra[tag]} - {message}"
|
||||||
|
# 设置日志等级:INFO、DEBUG
|
||||||
|
log_level: INFO
|
||||||
|
# 设置日志路径
|
||||||
|
log_dir: tmp
|
||||||
|
# 设置日志文件
|
||||||
|
log_file: "server.log"
|
||||||
|
# 设置数据文件路径
|
||||||
|
data_dir: data
|
||||||
manager:
|
manager:
|
||||||
# 是否启用管理后台
|
# 是否启用管理后台
|
||||||
# 目前这个模块还在开发中,建议:不要修改enabled选项
|
# 目前这个模块还在开发中,建议:不要修改enabled选项
|
||||||
|
|||||||
+14
-12
@@ -1,27 +1,29 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
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")
|
||||||
|
|
||||||
def setup_logging(log_dir='tmp', data_dir='data'):
|
|
||||||
"""配置全局彩色日志(不同区块不同标签)"""
|
|
||||||
os.makedirs(log_dir, exist_ok=True)
|
os.makedirs(log_dir, exist_ok=True)
|
||||||
os.makedirs(data_dir, exist_ok=True)
|
os.makedirs(data_dir, exist_ok=True)
|
||||||
|
|
||||||
# 设置日志格式,时间、日志级别、标签、消息
|
|
||||||
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>"
|
|
||||||
)
|
|
||||||
|
|
||||||
# 配置日志输出
|
# 配置日志输出
|
||||||
logger.remove()
|
logger.remove()
|
||||||
|
|
||||||
# 输出到控制台
|
# 输出到控制台
|
||||||
logger.add(sys.stdout, format=log_format, level="INFO")
|
logger.add(sys.stdout, format=log_format, level=log_level)
|
||||||
|
|
||||||
# 输出到文件
|
# 输出到文件
|
||||||
logger.add(os.path.join(log_dir, "server.log"), format="{time:YYYY-MM-DD HH:mm:ss} - {name} - {level} - {extra[tag]} - {message}", level="INFO")
|
logger.add(os.path.join(log_dir, log_file), format=log_format_simple, level=log_level)
|
||||||
|
|
||||||
return logger
|
return logger
|
||||||
|
|||||||
+2
-2
@@ -163,8 +163,8 @@ poetry run python app.py
|
|||||||
conda remove -n xiaozhi-esp32-server --all -y
|
conda remove -n xiaozhi-esp32-server --all -y
|
||||||
conda create -n xiaozhi-esp32-server python=3.10 -y
|
conda create -n xiaozhi-esp32-server python=3.10 -y
|
||||||
conda activate xiaozhi-esp32-server
|
conda activate xiaozhi-esp32-server
|
||||||
conda install conda-forge::libopus
|
conda install conda-forge::libopus -y
|
||||||
conda install conda-forge::ffmpeg
|
conda install conda-forge::ffmpeg -y
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2.安装本项目依赖
|
## 2.安装本项目依赖
|
||||||
|
|||||||
Reference in New Issue
Block a user