feat: 添加设置日志级别功能
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
|||||||
|
|
||||||
|
set_log_level(){
|
||||||
|
# config 配置文件路径
|
||||||
|
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
|
||||||
|
local CONFIG_FILE="$SCRIPT_DIR/../config/config.json" # 配置文件路径
|
||||||
|
|
||||||
|
# 检查配置文件是否存在
|
||||||
|
if [[ ! -f "$CONFIG_FILE" ]]; then
|
||||||
|
echo "错误:配置文件不存在 - $CONFIG_FILE" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
CURRENT_LEVEL="$(jq -r '.log.level // empty' "$CONFIG_FILE" 2>/dev/null)"
|
||||||
|
echo ""
|
||||||
|
if [[ -n "$CURRENT_LEVEL" ]]; then
|
||||||
|
echo "当前日志级别:$(cyan "$CURRENT_LEVEL")"
|
||||||
|
else
|
||||||
|
echo "当前日志级别:未知(无法解析配置文件)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# 日志等级,可选值:trace debug info warn error fatal panic
|
||||||
|
# 请用户选择新的日记级别
|
||||||
|
local LEVELS=("trace" "debug" "info" "warn" "error" "fatal" "panic")
|
||||||
|
local LEVEL=""
|
||||||
|
echo "请选择日志级别:"
|
||||||
|
local i=1
|
||||||
|
for lv in "${LEVELS[@]}"; do
|
||||||
|
echo " $i) $lv"
|
||||||
|
((i++))
|
||||||
|
done
|
||||||
|
while true; do
|
||||||
|
read -rp "请输入序号 [1-${#LEVELS[@]}]: " input
|
||||||
|
|
||||||
|
if [[ "$input" =~ ^[0-9]+$ ]] && (( input >= 1 && input <= ${#LEVELS[@]} )); then
|
||||||
|
LEVEL="${LEVELS[$((input-1))]}"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "输入无效,请输入 1 到 ${#LEVELS[@]} 之间的数字。"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 修改日记级别
|
||||||
|
modify_json_file "$CONFIG_FILE" "log.level" "$LEVEL"
|
||||||
|
|
||||||
|
green "日志级别已改修为:$LEVEL"
|
||||||
|
}
|
||||||
|
|
||||||
+6
-3
@@ -8,6 +8,9 @@ green(){
|
|||||||
echo -e "\033[32m$1\033[0m"
|
echo -e "\033[32m$1\033[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cyan(){
|
||||||
|
echo -e "\033[36m$1\033[0m"
|
||||||
|
}
|
||||||
|
|
||||||
# 动态安装软件包
|
# 动态安装软件包
|
||||||
install_package() {
|
install_package() {
|
||||||
@@ -65,7 +68,7 @@ url_encode() {
|
|||||||
CHAR="${STR:$I:1}"
|
CHAR="${STR:$I:1}"
|
||||||
case "$CHAR" in
|
case "$CHAR" in
|
||||||
[a-zA-Z0-9.~_-]) ENCODED+="$CHAR" ;;
|
[a-zA-Z0-9.~_-]) ENCODED+="$CHAR" ;;
|
||||||
*)
|
*)
|
||||||
printf -v HEX '%02X' "'$CHAR"
|
printf -v HEX '%02X' "'$CHAR"
|
||||||
ENCODED+="%$HEX"
|
ENCODED+="%$HEX"
|
||||||
;;
|
;;
|
||||||
@@ -77,11 +80,11 @@ url_encode() {
|
|||||||
|
|
||||||
# 展示当前值并询问用户新输入的值
|
# 展示当前值并询问用户新输入的值
|
||||||
# 用法: ask_update "提示语" "当前值(当前配置文件的值)"
|
# 用法: ask_update "提示语" "当前值(当前配置文件的值)"
|
||||||
# 示例:
|
# 示例:
|
||||||
# NEW_PORT=$(ask_update "请输入新的端口号" "$(jq -r '.inbounds[0].port' $CONFIG_DIR/config.json)")
|
# NEW_PORT=$(ask_update "请输入新的端口号" "$(jq -r '.inbounds[0].port' $CONFIG_DIR/config.json)")
|
||||||
ask_update() {
|
ask_update() {
|
||||||
local PROMPT="$1" # 提示语
|
local PROMPT="$1" # 提示语
|
||||||
local CURRENT_VALUE="$2"
|
local CURRENT_VALUE="$2"
|
||||||
local INPUT
|
local INPUT
|
||||||
|
|
||||||
read -p "${PROMPT} [当前: ${CURRENT_VALUE}]: " INPUT
|
read -p "${PROMPT} [当前: ${CURRENT_VALUE}]: " INPUT
|
||||||
|
|||||||
+11
-5
@@ -55,7 +55,7 @@ check_container_status(){
|
|||||||
# 修改域名
|
# 修改域名
|
||||||
ask_update_domain(){
|
ask_update_domain(){
|
||||||
local CONFIG_FILE="${1}"
|
local CONFIG_FILE="${1}"
|
||||||
|
|
||||||
# 检查jq是否安装
|
# 检查jq是否安装
|
||||||
check_jq
|
check_jq
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ ask_update_domain(){
|
|||||||
# 是否存在acme域名, 存在则修改
|
# 是否存在acme域名, 存在则修改
|
||||||
if is_config_use_acme "$CONFIG_FILE"; then
|
if is_config_use_acme "$CONFIG_FILE"; then
|
||||||
update_acme_domain "$CONFIG_FILE" "$DOMAIN"
|
update_acme_domain "$CONFIG_FILE" "$DOMAIN"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "修改域名成功"
|
echo "修改域名成功"
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,7 @@ check_config_file(){
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 检查配置文件是否为有效的JSON格式
|
# 检查配置文件是否为有效的JSON格式
|
||||||
if ! jq '.' "$CONFIG_FILE" >/dev/null 2>&1; then
|
if ! jq '.' "$CONFIG_FILE" >/dev/null 2>&1; then
|
||||||
echo "配置文件不是有效的JSON格式, 请重新生成配置文件."
|
echo "配置文件不是有效的JSON格式, 请重新生成配置文件."
|
||||||
exit 1
|
exit 1
|
||||||
@@ -137,7 +137,7 @@ create_config(){
|
|||||||
main(){
|
main(){
|
||||||
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/bin" # 脚本文件夹绝对路径
|
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/bin" # 脚本文件夹绝对路径
|
||||||
local CONFIG_FILE="$SCRIPT_DIR/../config/config.json"
|
local CONFIG_FILE="$SCRIPT_DIR/../config/config.json"
|
||||||
|
|
||||||
local CONTAINER_STATUS=$(check_container_status)
|
local CONTAINER_STATUS=$(check_container_status)
|
||||||
# 显示菜单
|
# 显示菜单
|
||||||
echo ""
|
echo ""
|
||||||
@@ -154,6 +154,8 @@ main(){
|
|||||||
echo "8. 更新镜像"
|
echo "8. 更新镜像"
|
||||||
echo "9. 更新脚本"
|
echo "9. 更新脚本"
|
||||||
echo "10. 开启BBR加速"
|
echo "10. 开启BBR加速"
|
||||||
|
echo "11. 修改日记等级"
|
||||||
|
|
||||||
|
|
||||||
# 读取用户选择
|
# 读取用户选择
|
||||||
local CHOICE
|
local CHOICE
|
||||||
@@ -166,7 +168,7 @@ main(){
|
|||||||
install
|
install
|
||||||
create_config
|
create_config
|
||||||
port_manage allow $(get_listen_port "$CONFIG_FILE") # 开放端口
|
port_manage allow $(get_listen_port "$CONFIG_FILE") # 开放端口
|
||||||
run
|
run
|
||||||
print_share_link "$CONFIG_FILE"
|
print_share_link "$CONFIG_FILE"
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
@@ -219,6 +221,10 @@ main(){
|
|||||||
# 开启BBR加速
|
# 开启BBR加速
|
||||||
enable_kernel_bbr
|
enable_kernel_bbr
|
||||||
;;
|
;;
|
||||||
|
11)
|
||||||
|
# 修改日志等级
|
||||||
|
set_log_level
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "无效的选择, 请重新选择."
|
echo "无效的选择, 请重新选择."
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user