記錄{#logging}
CLI 會在內部記錄訊息,以協助您診斷問題。
使用日誌診斷問題{#diagnose-issues-using-logs}#
如果命令調用沒有產生預期的結果,您可以透過檢查日誌來診斷問題。CLI 會將日誌轉發至 OSLog 和檔案系統。
每次執行時,它都會在$XDG_STATE_HOME/tuist/logs/{uuid}.log 建立一個記錄檔,其中$XDG_STATE_HOME
的值為~/.local/state ,如果沒有設定環境變數的話。您也可以使用$TUIST_XDG_STATE_HOME 來設定 Tuist
特有的狀態目錄,它優先於$XDG_STATE_HOME 。
Tip
瞭解更多關於 Tuist 目錄組織的資訊,以及如何在 Directories 文件中設定自訂目錄。
預設情況下,當執行意外退出時,CLI 會輸出記錄路徑。如果沒有,您可以在上述路徑中找到記錄 (即最近的記錄檔)。
Warning
敏感資訊不會被刪除,因此分享日誌時要謹慎。
持續整合{#diagnose-issues-using-logs-ci}#
在 CI 中,環境是一次性的,您可能想要設定 CI 管道來匯出 Tuist 日誌。匯出工件是 CI 服務的共通能力,配置取決於您使用的服務。例如,在
GitHub Actions 中,您可以使用actions/upload-artifact 動作,將日誌上傳為工件:
yaml
name: Node CI
on: [push]
env:
TUIST_XDG_STATE_HOME: /tmp
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# ... other steps
- run: tuist generate
# ... do something with the project
- name: Export Tuist logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: tuist-logs
path: /tmp/tuist/logs/*.log
快取 daemon 除錯{#cache-daemon-debugging}#
為了除錯快取相關的問題,Tuist 使用os_log 與子系統dev.tuist.cache 記錄快取 daemon
的作業。您可以使用以下方式即時串流這些記錄:
bash
log stream --predicate 'subsystem == "dev.tuist.cache"' --debug
透過過濾dev.tuist.cache 子系統,在 Console.app
中也可以看到這些記錄。這可提供快取操作的詳細資訊,有助於診斷快取上傳、下載和通訊問題。