|
@@ -206,16 +206,22 @@ export ENV=prod
|
|
|
|
|
|
- 日志级别:DEBUG
|
|
|
- 日志路径:logs/
|
|
|
+ - 日志文件:app\_{time:YYYY-MM-DD}.log(按日期自动分割)
|
|
|
- 日志保留:7 天
|
|
|
- - 日志格式:包含时间、级别、文件名和行号
|
|
|
- - 控制台输出:彩色格式
|
|
|
+ - 日志格式:{time:YYYY-MM-DD HH:mm:ss.SSS} | {level} | {module}:{line} - {message}
|
|
|
+ - 控制台输出:彩色格式(<green>{time}</green> | <level>{level}</level> | <cyan>{module}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>)
|
|
|
+ - 旧日志压缩:自动压缩为 zip 格式
|
|
|
+ - 最大文件大小:10MB
|
|
|
|
|
|
- 生产环境:
|
|
|
- 日志级别:INFO
|
|
|
- 日志路径:/var/log/app
|
|
|
+ - 日志文件:app\_{time:YYYY-MM-DD}.log(按日期自动分割)
|
|
|
- 日志保留:30 天
|
|
|
- - 日志格式:仅包含时间、级别和消息
|
|
|
+ - 日志格式:{time:YYYY-MM-DD HH:mm:ss.SSS} | {level} | {module}:{line} - {message}
|
|
|
- 控制台输出:简洁格式
|
|
|
+ - 旧日志压缩:自动压缩为 zip 格式
|
|
|
+ - 最大文件大小:100MB
|
|
|
|
|
|
使用示例:
|
|
|
|
|
@@ -225,3 +231,30 @@ from app.logger import logger
|
|
|
logger.info("这是一条信息日志")
|
|
|
logger.error("这是一条错误日志", exc_info=True)
|
|
|
```
|
|
|
+
|
|
|
+## 新增日志功能说明
|
|
|
+
|
|
|
+1. 按日期分割日志文件:
|
|
|
+
|
|
|
+ - 每天生成一个新的日志文件,文件名格式为 app_YYYY-MM-DD.log
|
|
|
+ - 自动处理日志文件切换,无需重启应用
|
|
|
+
|
|
|
+2. 自动清理旧日志:
|
|
|
+
|
|
|
+ - 开发环境保留最近 7 天的日志
|
|
|
+ - 生产环境保留最近 30 天的日志
|
|
|
+ - 超过保留期限的日志文件会被自动删除
|
|
|
+
|
|
|
+3. 日志压缩:
|
|
|
+
|
|
|
+ - 旧日志文件会被自动压缩为 zip 格式保存
|
|
|
+ - 压缩后的文件名格式为 app_YYYY-MM-DD.log.zip
|
|
|
+
|
|
|
+4. 线程安全:
|
|
|
+
|
|
|
+ - 日志写入操作是线程安全的
|
|
|
+ - 支持多线程并发写入日志
|
|
|
+
|
|
|
+5. 异常处理:
|
|
|
+ - 日志初始化失败时会抛出异常
|
|
|
+ - 日志写入失败时会自动重试
|