Skip to content

日誌與診斷

AppPorts 內置日誌系統,記錄應用運行期間的關鍵事件、遷移操作、系統信息和錯誤詳情。當遇到問題時,可導出診斷包並提交至項目 Issues 以協助排查。

日誌記錄內容

啓動會話信息

應用每次啓動時記錄以下信息:

項目說明
會話 ID本次運行的唯一標識(8 位 UUID 前綴)
進程 ID系統進程標識
Bundle ID應用標識符
應用語言當前選擇的語言代碼
系統區域系統區域設置標識
時區當前時區標識
首選語言列表系統首選語言順序

系統診斷信息

項目說明
應用版本版本號與構建號
macOS 版本系統版本及營銷名稱(如 "macOS Sequoia 15.x")
設備型號型號及友好名稱(如 "MacBook Pro (14-inch, M3 Pro, 2023)")
處理器信息品牌字符串、核心數、活躍核心數
物理內存內存總量

外部存儲信息

選擇外部存儲卷時記錄:

項目說明
卷名稱存儲卷名稱
總容量 / 可用空間存儲空間信息
文件系統格式如 APFS、HFS+、exFAT 等
接口協議USB、Thunderbolt、NVMe/SATA
設備速度傳輸速率信息
塊大小存儲塊大小
卷 UUID存儲卷唯一標識

遷移操作事件

每次遷移操作生成唯一的操作 ID(如 data-migrate-ABCD1234),記錄:

  • 操作開始與結束
  • 每個步驟的進度(複製、刪除原始目錄、創建符號鏈接、回滾)
  • 步驟前後的路徑狀態快照(存在性、權限、大小、符號鏈接目標、不可變標誌)
  • 殘留遷移數據檢測與自動恢復
  • 文件複製進度、錯誤與重試

遷移性能報告

項目說明
應用名稱遷移的應用名
數據大小遷移數據量
耗時遷移持續時間(秒)
傳輸速度傳輸速率(MB/s)
源路徑 / 目標路徑遷移起止路徑

錯誤詳情

錯誤日誌包含結構化信息:

字段說明
錯誤描述人類可讀的錯誤說明
錯誤類型 / 域 / 碼NSError 結構化信息
失敗原因詳細失敗原因
恢復建議系統提供的恢復建議
文件路徑涉及的文件路徑
底層錯誤嵌套錯誤遞歸記錄

操作摘要

每個遷移操作生成 OperationSummaryRecord 記錄,保留最近 100 條:

字段說明
operationID操作唯一標識
category操作類別(app_movedata-migratefile-copy 等)
result結果(successfailedrolled_backsuccess_with_warning
errorCode錯誤碼(如有)
startedAt / endedAt起止時間
durationMs耗時(毫秒)

日誌配置

存儲位置

默認日誌路徑:

text
~/Library/Application Support/AppPorts/AppPorts_Log.txt

可通過以下方式自定義:

  • 菜單欄 → 日誌 → 設置日誌位置
  • 設置 → 日誌設置 → 自定義路徑

日誌格式

text
[2026-05-08 09:30:00] [INFO] [session:a1b2c3d4] [pid:12345] 應用啓動
[2026-05-08 09:30:01] [DIAG] [session:a1b2c3d4] [pid:12345]   app_version: 1.6.1 (123)
[2026-05-08 09:30:05] [PERF] [session:a1b2c3d4] [pid:12345]   遷移完成: 2.3 GB, 45.2 MB/s, 52.1s

日誌級別

級別說明
INFO一般信息
ERROR錯誤信息(含結構化錯誤詳情)
DIAG系統診斷信息
DISK外部存儲卷信息
PERF遷移性能報告
TRACE底層路徑狀態與文件夾監控
DEBUG調試信息(大小計算、嵌套目錄檢查)
WARN警告(殘留遷移數據、恢復模式)

日誌輪轉

  • 默認最大大小:2 MB(可配置:1 MB、5 MB、10 MB、50 MB、100 MB)
  • 超出時自動截斷:丟棄較舊的一半行,保留較新的一半

導出診斷包

當遇到問題需要反饋時,請導出診斷包並附帶在 Issue 中。

導出方式

方式一:菜單欄

  1. 點擊菜單欄 → 日誌 → 導出診斷包
  2. 選擇保存位置
  3. 系統自動生成 .zip 文件並在 Finder 中打開

方式二:設置頁面

  1. 打開 AppPorts → 右上角設置
  2. 找到「日誌設置」區域
  3. 點擊「導出診斷包」按鈕
  4. 選擇保存位置

診斷包內容

導出的 AppPorts-Diagnostic-<日期時間>.zip 包含:

文件格式說明
diagnostic-summary.jsonJSON元數據(會話 ID、版本、區域、時區等)
diagnostic-summary.txt純文本人類可讀的診斷摘要
recent-operations.jsonJSON最近 100 條操作記錄
recent-failures.jsonJSON最近 20 條失敗/警告操作
AppPorts_Log.share-safe.txt純文本完整日誌(已脫敏)

隱私保護

診斷包中的日誌文件經過脫敏處理:

原始內容替換爲
用戶主目錄路徑(如 /Users/john/Users/<redacted-user>
外部存儲卷名(如 /Volumes/MyDrive/Volumes/<redacted-volume>
$HOME 完整路徑~

提交 Issue

獲取診斷包後,請按以下步驟提交:

  1. 訪問項目 Issues 頁面
  2. 點擊「New Issue」,選擇 Bug 報告模板
  3. 描述問題現象和復現步驟
  4. 將診斷包 .zip 文件拖拽至附件區域上傳
  5. 提交 Issue

💡 提高反饋效率

提交 Issue 時附帶診斷包,可顯著加快問題定位速度。診斷包包含完整的操作歷史、錯誤詳情和系統環境信息,開發者無需反覆溝通即可復現和分析問題。

最近更新