#!/bin/bash
PID="$1"
OUTPUT="$2"
PLOG_DIR="${3:-${ASCEND_LOG_PATH:-/root/ascend/log/debug/plog}}"
if [ -z "$PID" ] || [ -z "$OUTPUT" ]; then
echo "Usage: $0 <PID> <output_file> [plog_dir]" >&2
exit 1
fi
mkdir -p "$(dirname "$OUTPUT")"
FILES=$(find "${PLOG_DIR}" -name "plog-${PID}_*.log" -type f 2>/dev/null | sort)
if [ -z "$FILES" ]; then
echo "[ARCHIVE_PLOG] WARN: no plog-${PID}_*.log found in ${PLOG_DIR}" >&2
touch "$OUTPUT"
exit 0
fi
COUNT=$(echo "$FILES" | wc -l)
echo "$FILES" | xargs cat > "$OUTPUT" 2>/dev/null
echo "[ARCHIVE_PLOG] PID=$PID segments=$COUNT -> $OUTPUT ($(wc -l < "$OUTPUT") lines)"