优化生产日志
This commit is contained in:
@@ -16,7 +16,7 @@ REDIS_DB=0
|
||||
JWT_SECRET=change-to-a-long-random-secret
|
||||
|
||||
LOG_LEVEL=info
|
||||
LOG_DIR=logs
|
||||
LOG_DIR=/app/logs
|
||||
LOG_ENABLE_CONSOLE=true
|
||||
LOG_ENABLE_FILE=true
|
||||
|
||||
|
||||
@@ -49,6 +49,12 @@ STORAGE_SECRET_ACCESS_KEY
|
||||
./scripts/deploy-prod.sh --logs
|
||||
```
|
||||
|
||||
后端运行日志会同时输出到 Docker 控制台,并写入宿主机:
|
||||
|
||||
```text
|
||||
backend/logs/app-YYYY-MM-DD.log
|
||||
```
|
||||
|
||||
测试阶段需要清空并重建数据库时:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -47,6 +47,8 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ../backend/.env
|
||||
volumes:
|
||||
- ../backend/logs:/app/logs
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
|
||||
@@ -4,6 +4,7 @@ set -euo pipefail
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
COMPOSE_FILE="${ROOT_DIR}/deploy/docker-compose.prod.yml"
|
||||
BACKEND_ENV="${ROOT_DIR}/backend/.env"
|
||||
BACKEND_LOG_DIR="${ROOT_DIR}/backend/logs"
|
||||
MIGRATIONS_DIR="${ROOT_DIR}/backend/migrations"
|
||||
HEALTH_URL="${PROD_HEALTH_URL:-http://127.0.0.1:7890/api/health}"
|
||||
PUBLIC_URL="${PROD_PUBLIC_URL:-http://hfb.221329.cc.cd:7890}"
|
||||
@@ -168,6 +169,10 @@ compose() {
|
||||
docker compose -f "${COMPOSE_FILE}" "$@"
|
||||
}
|
||||
|
||||
prepare_log_dir() {
|
||||
mkdir -p "${BACKEND_LOG_DIR}"
|
||||
}
|
||||
|
||||
wait_service_healthy() {
|
||||
local service="$1"
|
||||
local label="$2"
|
||||
@@ -302,6 +307,7 @@ main() {
|
||||
need_cmd docker
|
||||
need_cmd curl
|
||||
validate_env
|
||||
prepare_log_dir
|
||||
|
||||
log "检查 Docker Compose 配置..."
|
||||
compose config >/dev/null
|
||||
|
||||
Reference in New Issue
Block a user