feat(logging): improve local and docker log handling
This commit is contained in:
@@ -85,7 +85,8 @@ cmd_deploy() {
|
||||
echo " 访问地址: http://localhost:${APP_PORT}"
|
||||
echo " 默认账号见环境变量 ADMIN_USERNAME/ADMIN_PASSWORD(未设置则为 admin/admin123)"
|
||||
echo ""
|
||||
echo " 查看日志: $COMPOSE logs -f"
|
||||
echo " 查看应用日志: ./deploy.sh logs"
|
||||
echo " 查看容器输出: ./deploy.sh logs container"
|
||||
echo " 停止服务: $COMPOSE down"
|
||||
echo " 重启服务: $COMPOSE restart"
|
||||
echo " 重置数据: ./deploy.sh reset"
|
||||
@@ -156,12 +157,24 @@ cmd_reset() {
|
||||
}
|
||||
|
||||
cmd_logs() {
|
||||
local mode="${1:-app}"
|
||||
if [ "$mode" = "app" ]; then
|
||||
local app_log
|
||||
app_log="$ROOT_DIR/logs/app-$(date '+%Y-%m-%d').log"
|
||||
mkdir -p "$ROOT_DIR/logs"
|
||||
echo "跟踪应用文件日志: ${app_log}(Ctrl+C 退出)"
|
||||
exec tail -n "${LOG_TAIL_LINES:-200}" -F "$app_log"
|
||||
fi
|
||||
if [ "$mode" != "container" ]; then
|
||||
echo "用法: ./deploy.sh logs [app|container]"
|
||||
exit 1
|
||||
fi
|
||||
COMPOSE=$(detect_compose)
|
||||
if [ -z "$COMPOSE" ]; then
|
||||
echo "❌ 未检测到 docker compose"
|
||||
exit 1
|
||||
fi
|
||||
$COMPOSE logs -f
|
||||
$COMPOSE logs --tail "${LOG_TAIL_LINES:-200}" -f
|
||||
}
|
||||
|
||||
cmd_migrate_mysql() {
|
||||
@@ -271,7 +284,7 @@ cmd_help() {
|
||||
echo " reset 删除所有数据并重置(需确认)"
|
||||
echo " migrate-mysql 先启动 MySQL 并迁移 data/web.db"
|
||||
echo " migrate 仅执行数据库结构迁移"
|
||||
echo " logs 查看实时日志"
|
||||
echo " logs [app|container] 查看应用文件日志(默认)或容器输出"
|
||||
echo " stop 停止服务"
|
||||
echo " restart 重启服务"
|
||||
echo " dev 本地调试启动(后端 reload + 前端热更新)"
|
||||
@@ -289,7 +302,7 @@ case "${1:-}" in
|
||||
reset) cmd_reset ;;
|
||||
migrate-mysql) cmd_migrate_mysql ;;
|
||||
migrate) cmd_migrate ;;
|
||||
logs) cmd_logs ;;
|
||||
logs) shift; cmd_logs "${1:-app}" ;;
|
||||
stop) cmd_stop ;;
|
||||
restart) cmd_restart ;;
|
||||
dev) cmd_dev ;;
|
||||
|
||||
Reference in New Issue
Block a user