Rejestrowanie
CLI rejestruje komunikaty wewnętrznie, aby pomóc w diagnozowaniu problemów.
Diagnozowanie problemów przy użyciu dzienników#
Jeśli wywołanie polecenia nie przynosi zamierzonych rezultatów, można zdiagnozować problem, sprawdzając dzienniki. CLI przekazuje logi do OSLog i systemu plików.
W każdym uruchomieniu tworzy plik dziennika pod adresem
$XDG_STATE_HOME/tuist/logs/{uuid}.log gdzie $XDG_STATE_HOME przyjmuje
wartość ~/.local/state jeśli zmienna środowiskowa nie jest ustawiona. Można
również użyć $TUIST_XDG_STATE_HOME do ustawienia katalogu stanu specyficznego
dla Tuist, który ma pierwszeństwo przed $XDG_STATE_HOME.
Więcej informacji na temat organizacji katalogów Tuist i sposobu konfigurowania niestandardowych katalogów można znaleźć w dokumentacji Directories.
Domyślnie CLI wyświetla ścieżkę dziennika, gdy wykonanie kończy się nieoczekiwanie. Jeśli tak się nie stanie, dzienniki można znaleźć w ścieżce wspomnianej powyżej (tj. w najnowszym pliku dziennika).
Wrażliwe informacje nie są redagowane, więc należy zachować ostrożność podczas udostępniania dzienników.
Ciągła integracja#
W CI, gdzie środowiska są jednorazowe, warto skonfigurować potok CI tak, aby
eksportował dzienniki Tuist. Eksportowanie artefaktów jest powszechną funkcją we
wszystkich usługach CI, a konfiguracja zależy od używanej usługi. Na przykład w
GitHub Actions można użyć akcji actions/upload-artifact, aby przesłać
dzienniki jako artefakt:
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
Debugowanie demona pamięci podręcznej#
W celu debugowania problemów związanych z pamięcią podręczną, Tuist rejestruje
operacje demona pamięci podręcznej za pomocą os_log z podsystemem
dev.tuist.cache. Dzienniki te można przesyłać strumieniowo w czasie
rzeczywistym za pomocą:
log stream --predicate 'subsystem == "dev.tuist.cache"' --debug
Dzienniki te są również widoczne w Console.app poprzez filtrowanie podsystemu
dev.tuist.cache. Zapewnia to szczegółowe informacje o operacjach pamięci
podręcznej, które mogą pomóc w diagnozowaniu problemów związanych z
przesyłaniem, pobieraniem i komunikacją z pamięcią podręczną.