Режим --log-level

Система логирования в Parcel играет ключевую роль в контроле объёма диагностической информации, которая выводится во время сборки и разработки. Параметр --log-level определяет степень детализации сообщений, поступающих от сборщика, и напрямую влияет на удобство анализа процессов, скорость выявления ошибок и чистоту вывода в терминале или CI-среде.

Параметр --log-level управляет фильтрацией логов, которые генерируются на всех этапах работы сборщика: от анализа зависимостей до финальной сборки бандла. Он позволяет ограничивать поток сообщений до строго необходимого уровня, снижая шум в консоли или, наоборот, расширяя диагностическую информацию для отладки.

Логирование в Parcel включает сообщения следующих типов:

  • ошибки сборки и фатальные сбои;
  • предупреждения о потенциальных проблемах;
  • информационные сообщения о процессе сборки;
  • расширенные диагностические данные о внутренних этапах.

--log-level выступает фильтром, определяющим, какие категории сообщений будут видны пользователю.

Доступные уровни логирования

В Parcel используется фиксированный набор уровней логирования, выстроенный по возрастанию детализации:

silent

Полное подавление вывода. Отображаются только критические фатальные ошибки, при которых процесс не может быть продолжен.

Особенности:

  • отсутствует информационный вывод о сборке;
  • используется в автоматизированных сценариях, где любой вывод нежелателен;
  • минимальная нагрузка на консоль.

error

Отображаются только ошибки.

Особенности:

  • предупреждения и информационные сообщения скрыты;
  • подходит для CI, где важно фиксировать только сбои;
  • сохраняется базовая диагностика отказов сборки.

warn

Отображаются предупреждения и ошибки.

Особенности:

  • фиксируются потенциально проблемные места (deprecated API, незначительные конфигурационные ошибки);
  • полезен для контроля качества проекта без избыточного вывода.

info

Стандартный уровень вывода.

Особенности:

  • отображается основная информация о процессе сборки;
  • включает этапы анализа, трансформации и бандлинга;
  • используется по умолчанию в большинстве сценариев разработки.

verbose

Максимально подробный режим.

Особенности:

  • включает детализированные сообщения о каждом этапе пайплайна;
  • отображает внутренние процессы резолвинга модулей;
  • полезен для глубокой отладки поведения плагинов и зависимостей.

Синтаксис использования

Передача уровня логирования осуществляется через CLI:

parcel build src/index.html --log-level silent
parcel serve src/index.html --log-level info
parcel build src/index.html --log-level verbose

Параметр может применяться как к режиму разработки (serve), так и к production-сборке (build), влияя на характер вывода без изменения логики самой сборки.

Поведение в процессе разработки

В режиме разработки логирование особенно важно, поскольку сборка выполняется инкрементально. При изменениях файлов Parcel пересобирает затронутые части проекта, и уровень --log-level регулирует детализацию этих событий.

При verbose вывод включает:

  • перечень изменённых модулей;
  • цепочки зависимостей, затронутых обновлением;
  • этапы пересборки кэша.

При info отображаются только ключевые события обновления без детализации внутренней механики.

При warn и error исключается информационный поток, что позволяет сосредоточиться только на проблемных состояниях.

Поведение в production-сборке

В режиме build логирование связано с процессом однократной генерации бандла. Здесь --log-level влияет на:

  • отображение этапов оптимизации;
  • сообщения минификации и tree-shaking;
  • предупреждения о несовместимостях;
  • отчёты о размере итоговых файлов.

silent часто применяется в CI, где вывод должен ограничиваться кодом завершения процесса. verbose используется в диагностических сценариях при анализе сборочных пайплайнов и производительности.

Влияние на CI/CD процессы

В автоматизированных системах сборки выбор уровня логирования определяет читаемость логов и скорость диагностики ошибок:

  • silent — используется при строгой обработке exit code без необходимости логов;
  • error — стандарт для пайплайнов, где важны только сбои;
  • warn — позволяет фиксировать деградации качества без остановки процесса;
  • info — используется при отладке CI-конфигураций;
  • verbose — применяется при расследовании нестабильных сборок или проблем с плагинами.

Избыточный уровень логирования в CI может приводить к росту объёма логов и снижению удобства анализа, тогда как слишком низкий — к потере диагностической информации.

Связь с другими механизмами конфигурации

Уровень --log-level может взаимодействовать с другими параметрами Parcel, включая режимы кэширования и source maps. При увеличении детализации логов часто наблюдается более полное отображение внутренних процессов:

  • резолвинг модулей;
  • применение трансформеров;
  • работа плагинов;
  • оптимизация зависимостей.

При этом логирование остаётся независимым от самой логики сборки и не влияет на результат, только на объём диагностической информации.

Особенности интерпретации сообщений

Parcel классифицирует сообщения по приоритету. Даже при низком уровне логирования ошибки всегда имеют приоритет над предупреждениями и информационными сообщениями. Это обеспечивает сохранение критической информации в любых режимах.

При переходе между уровнями логирования не происходит перерасчёта сборки — фильтрация применяется только к уже генерируемым сообщениям.

Типовые сценарии применения уровней

  • Разработка интерфейсов: info для стандартной работы, verbose при отладке зависимостей.
  • Анализ ошибок сборки: error для чистого вывода проблем.
  • Проверка качества кода: warn для фиксации потенциальных дефектов.
  • Автоматические пайплайны: error или silent для минимизации шума.
  • Профилирование сборки: verbose для анализа всех этапов бандлинга.