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