|
3 сар өмнө | |
---|---|---|
SERVER | 3 сар өмнө | |
.gitignore | 4 сар өмнө | |
README.md | 4 сар өмнө | |
README_DEV.md | 4 сар өмнө | |
README_UTILS.md | 3 сар өмнө | |
requirements.txt | 3 сар өмнө |
配置模块提供了统一的配置管理接口,主要功能包括:
from app.config import get_config
config = get_config()
from app.config import get_config_value
# 获取配置项值,如果不存在则返回默认值
value = get_config_value('key', default='default_value')
from app.config import on_config_change
def callback():
print('配置已变更')
on_config_change(callback)
所有接口都可能会抛出RuntimeError
异常,建议在使用时进行捕获处理:
try:
config = get_config()
except RuntimeError as e:
print(f'获取配置失败:{e}')
项目支持多环境配置,通过不同的配置文件管理:
通过设置环境变量APP_ENV
来切换环境:
在项目根目录下创建.env
文件,内容如下:
# 开发环境
APP_ENV=dev
# 生产环境
# APP_ENV=prod
注意:
临时设置(仅当前命令行窗口有效):
:: 开发环境
set APP_ENV=dev
:: 生产环境
set APP_ENV=prod
永久设置:
# 开发环境
export APP_ENV=dev
# 生产环境
export APP_ENV=prod
配置项 | 开发环境 | 生产环境 |
---|---|---|
app.debug | true | false |
database.host | localhost | db.prod.example.com |
database.name | question_bank_dev | question_bank_prod |
logging.path | logs | /var/log/app |
logging.level | DEBUG | INFO |
logging.retention | 7 天 | 30 天 |
logging.max_size | 10MB | 100MB |
logging.backup_count | 5 | 30 |
项目使用 loguru 库进行日志管理,主要特性包括:
开发环境:
生产环境:
使用示例:
from app.logger import logger
logger.info("这是一条信息日志")
logger.error("这是一条错误日志", exc_info=True)