From 7a1993a2e7eeb704d372bfaef3018e01cfd01a49 Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Sat, 26 Apr 2025 12:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=80=E4=B8=AA=E5=B8=81?= =?UTF-8?q?=E5=AF=B9=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch.sh | 48 ++++++++++++++++++++++++++ config_examples/config_freqai.okx.json | 3 +- freqtrade_error_logs.txt | 0 nohup.out | 4 +++ 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100755 catch.sh create mode 100644 freqtrade_error_logs.txt create mode 100644 nohup.out diff --git a/catch.sh b/catch.sh new file mode 100755 index 0000000..7ced306 --- /dev/null +++ b/catch.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# 脚本名称: filter_freqtrade_logs.sh +# 功能: 实时过滤 Freqtrade 容器日志,捕获包含 "but got Index" 的日志及上下文,输出到文件和终端 + +# 配置 +CONTAINER_NAME="freqtrade_freqtrade_run_ef258891294d" # 容器名称或 ID +OUTPUT_FILE="freqtrade_error_logs.txt" # 输出日志文件 +SEARCH_PATTERN="but got Index" # 过滤的关键字 +CONTEXT_LINES=5 # 匹配行后的上下文行数 + +# 检查容器是否存在 +if ! docker ps -a --format '{{.Names}}' | grep -q "$CONTAINER_NAME"; then + echo "错误: 容器 $CONTAINER_NAME 不存在。请检查容器名称或 ID。" + exit 1 +fi + +# 检查容器是否正在运行 +if ! docker ps --format '{{.Names}}' | grep -q "$CONTAINER_NAME"; then + echo "警告: 容器 $CONTAINER_NAME 未运行,将获取历史日志。" + RUNNING=false +else + RUNNING=true +fi + +# 初始化输出文件 +echo "开始过滤日志,输出到 $OUTPUT_FILE ..." +>"$OUTPUT_FILE" # 清空或创建输出文件 + +# 实时过滤日志 +if [ "$RUNNING" = true ]; then + echo "实时监控 $CONTAINER_NAME 的日志,过滤 '$SEARCH_PATTERN'..." + docker logs -f "$CONTAINER_NAME" 2>/dev/null | + stdbuf -oL grep --line-buffered -i -A "$CONTEXT_LINES" "$SEARCH_PATTERN" | + tee -a "$OUTPUT_FILE" +else + echo "获取 $CONTAINER_NAME 的历史日志,过滤 '$SEARCH_PATTERN'..." + docker logs "$CONTAINER_NAME" 2>/dev/null | + grep -i -A "$CONTEXT_LINES" "$SEARCH_PATTERN" | + tee -a "$OUTPUT_FILE" +fi + +# 检查是否捕获到日志 +if [ -s "$OUTPUT_FILE" ]; then + echo "已捕获日志,保存在 $OUTPUT_FILE" +else + echo "未捕获到包含 '$SEARCH_PATTERN' 的日志,文件 $OUTPUT_FILE 为空" +fi diff --git a/config_examples/config_freqai.okx.json b/config_examples/config_freqai.okx.json index 259459e..9452c08 100644 --- a/config_examples/config_freqai.okx.json +++ b/config_examples/config_freqai.okx.json @@ -36,7 +36,6 @@ }, "pair_whitelist": [ "OKB/USDT", - "DOT/USDT", "SOL/USDT" ] }, @@ -67,7 +66,7 @@ }, "freqaimodel": "CatboostClassifier", "purge_old_models": 2, - "identifier": "test175", + "identifier": "test176", "train_period_days": 30, "backtest_period_days": 10, "live_retrain_hours": 0, diff --git a/freqtrade_error_logs.txt b/freqtrade_error_logs.txt new file mode 100644 index 0000000..e69de29 diff --git a/nohup.out b/nohup.out new file mode 100644 index 0000000..0ec5701 --- /dev/null +++ b/nohup.out @@ -0,0 +1,4 @@ +开始过滤日志,输出到 freqtrade_error_logs.txt ... +实时监控 freqtrade_freqtrade_run_ef258891294d 的日志,过滤 'but got Index'... +开始过滤日志,输出到 freqtrade_error_logs.txt ... +实时监控 freqtrade_freqtrade_run_ef258891294d 的日志,过滤 'but got Index'...