logger
Параметр logger обеспечивает пользовательское ведение журнала событий React Compiler во время компиляции.
{
logger: {
logEvent(filename, event) {
console.log(`[Compiler] ${event.kind}: ${filename}`);
}
}
} Справочник
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