Spec-Zone.ru › React

logger

Параметр logger обеспечивает пользовательское ведение журнала событий React Compiler во время компиляции.

{
  logger: {
    logEvent(filename, event) {
      console.log(`[Compiler] ${event.kind}: ${filename}`);
    }
  }
}
  • Справочник
    • logger
  • Использование
    • Базовое ведение журнала
    • Подробное ведение журнала ошибок

Справочник

logger

Настраивает пользовательское ведение журнала для отслеживания поведения компилятора и отладки проблем.

Тип

{
  logEvent: (filename: string | null, event: LoggerEvent) => void;
} | null

Значение по умолчанию

null

Методы

  • logEvent: Вызывается для каждого события компилятора с именем файла и сведениями о событии

Типы событий

  • CompileSuccess: Функция успешно скомпилирована
  • CompileError: Функция пропущена из-за ошибок
  • CompileDiagnostic: Некритичная диагностическая информация
  • CompileSkip: Функция пропущена по другим причинам
  • PipelineError: Непредвиденная ошибка компиляции
  • Timing: Информация о времени выполнения

Предостережения

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

Использование

Базовое ведение журнала

Отслеживайте успешную компиляцию и ошибки:

{
  logger: {
    logEvent(filename, event) {
      switch (event.kind) {
        case 'CompileSuccess': {
          console.log(`✅ Compiled: ${filename}`);
          break;
        }
        case 'CompileError': {
          console.log(`❌ Skipped: ${filename}`);
          break;
        }
        default: {}
      }
    }
  }
}

Подробное ведение журнала ошибок

Получайте подробную информацию об ошибках компиляции:

{
  logger: {
    logEvent(filename, event) {
      if (event.kind === 'CompileError') {
        console.error(`\nCompilation failed: ${filename}`);
        console.error(`Reason: ${event.detail.reason}`);

        if (event.detail.description) {
          console.error(`Details: ${event.detail.description}`);
        }

        if (event.detail.loc) {
          const { line, column } = event.detail.loc.start;
          console.error(`Location: Line ${line}, Column ${column}`);
        }

        if (event.detail.suggestions) {
          console.error('Suggestions:', event.detail.suggestions);
        }
      }
    }
  }
}

© 2013–present Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://react.dev/reference/react-compiler/logger

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API