Capítulo 223 de 456

logging

Core Idea

Controla o que aparece no terminal durante next dev: fetch requests, chamadas de Server Function, requisições recebidas e (novo) logs do console do browser encaminhados pro terminal.

Key Concepts

  • logging.fetches.fullUrl: loga a URL completa das requisições fetch em dev.
  • logging.fetches.hmrRefreshes: por padrão, fetches restaurados do Server Components HMR cache não são logados; true habilita.
  • logging.serverFunctions: Server Functions são logadas por padrão em dev (nome, argumentos, duração); false desabilita.
  • logging.incomingRequests: todas requisições recebidas são logadas em dev por padrão. Aceita { ignore: [regex] } pra filtrar rotas, ou false pra desabilitar totalmente. Só afeta dev, não build de produção.
  • logging.browserToTerminal: encaminha console.log/warn/error do browser pro terminal em dev. Inclui localização de origem (arquivo:linha) por padrão.
  • logging: false: desabilita todo o logging de desenvolvimento de uma vez.

Code Examples

module.exports = {
  logging: {
    fetches: { fullUrl: true, hmrRefreshes: true },
    serverFunctions: false,
    incomingRequests: { ignore: [/\api\/v1\/health/] },
    browserToTerminal: 'warn',
  },
}
  • O que demonstra: as quatro áreas de configuração de logging combinadas.

Reference Tables

browserToTerminalComportamento
'warn'Só warnings e errors (padrão)
'error'Só errors
trueTudo (log, info, warn, error)
falseDesabilitado

Key Takeaways

  1. Tudo aqui só afeta next dev, nunca produção.
  2. browserToTerminal (v16.2.0) substitui a antiga flag experimental experimental.browserDebugInfoInTerminal (v15.4.0).

Connects To

  • serverComponentsHmrCache (ch242): controla o cache que logging.fetches.hmrRefreshes expõe nos logs.