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