Ведение журнала
CLI ведет внутренний журнал сообщений, чтобы помочь вам диагностировать проблемы.
Диагностика проблем с помощью журналов#
Если вызов команды не приводит к желаемым результатам, вы можете диагностировать проблему, просмотрев журналы. CLI направляет журналы в OSLog и файловую систему.
При каждом запуске создается файл журнала по адресу
$XDG_STATE_HOME/tuist/logs/{uuid}.log, где $XDG_STATE_HOME принимает
значение ~/.local/state, если переменная окружения не установлена. Вы также
можете использовать $TUIST_XDG_STATE_HOME для установки каталога состояния,
специфичного для Туиста, который имеет приоритет над $XDG_STATE_HOME.
Подробнее об организации каталогов в Tuist и о том, как настроить пользовательские каталоги, вы можете узнать из документации Directories.
По умолчанию CLI выводит путь к журналам, когда выполнение неожиданно завершается. Если этого не происходит, вы можете найти журналы по указанному выше пути (т. е. в самом последнем файле журнала).
Конфиденциальная информация не редактируется, поэтому будьте осторожны при передаче журналов.
Непрерывная интеграция#
В CI, где окружения являются одноразовыми, вы можете захотеть настроить свой
CI-конвейер на экспорт журналов Tuist. Экспорт артефактов - это общая
возможность для всех сервисов CI, и конфигурация зависит от используемого
сервиса. Например, в GitHub Actions вы можете использовать действие
actions/upload-artifact для загрузки журналов в качестве артефакта:
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
Отладка демона кэша#
Для отладки проблем, связанных с кэшем, Tuist регистрирует операции демона кэша
с помощью os_log с подсистемой dev.tuist.cache. Вы можете транслировать эти
журналы в режиме реального времени, используя:
log stream --predicate 'subsystem == "dev.tuist.cache"' --debug
Эти журналы также можно увидеть в Console.app, отфильтровав их для подсистемы
dev.tuist.cache. Это позволяет получить подробную информацию об операциях с
кэшем, что может помочь в диагностике проблем с загрузкой, выгрузкой и связью
кэша.