Capítulo 406 de 456

logging

Core Idea

Configures terminal logging behavior during development: incoming request logs and forwarding of browser console output to the terminal. Doesn't affect production builds.

Key Concepts

  • logging.incomingRequests: object with ignore (array of regex) to skip logging certain requests, or false to disable entirely.
  • logging.browserToTerminal: forwards console.log/warn/error from the browser to the terminal during dev. Accepts true, 'warn', 'error', or false.
  • Source location: browser logs forwarded to terminal include file path and line number by default.
  • logging: false: disables all development logging at once.

Code Examples

module.exports = {
  logging: {
    incomingRequests: {
      ignore: [/\api\/v1\/health/],
    },
    browserToTerminal: 'warn',
  },
}
  • O que demonstra: ignora logs de um health-check endpoint e forwarda só warnings/errors do browser pro terminal.

Reference Tables

browserToTerminalComportamento
'warn'forwarda apenas warnings e errors (default)
'error'forwarda apenas errors
trueforwarda tudo (log, info, warn, error)
falsedesabilita forwarding
VersionChanges
v16.2.0browserToTerminal added (movido de experimental.browserDebugInfoInTerminal)
v15.4.0experimental.browserDebugInfoInTerminal introduzido
v15.2.0incomingRequests added
v15.0.0logging: false e fetches.hmrRefreshes (App Router) added
v14.0.0logging.fetches estável no App Router

Key Takeaways

  1. browserToTerminal é útil pra debugar client-side sem abrir devtools do navegador.
  2. logging: false é o kill switch geral do dev logging.

Connects To

  • incomingRequests / browserToTerminal: ambos são sub-opções independentes de logging, podem ser combinadas.