Skip to main content

Logging

Enable focused client and server diagnostics while keeping sensitive values out of logs.

Logging is disabled by default.

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['better-convex-nuxt'],
  convex: {
    logging: 'info',
  },
})

Levels

LevelOutput
falseNo module logs
infoAuth, writes, actions, uploads, and connection events
debugInfo plus queries, timings, and detailed debug events

Query events are debug-only because live updates can be noisy.

Focus auth debugging

High-verbosity auth channels require logging: 'debug':

ts
convex: {
  logging: 'debug',
  auth: {
    debug: {
      authFlow: true,
      clientAuthFlow: false,
      serverAuthFlow: false,
    }
  }
}

Use the narrowest channel that reproduces the problem.

Sanitization

Module diagnostics sanitize depth, item count, long strings, and sensitive key patterns before output. This reduces accidental leakage; it does not make arbitrary application logging safe.

Never add session tokens, cookies, authorization headers, raw upstream bodies, or file contents to logging metadata.

Production

Keep module logging disabled or at info for a measured operational need. Debug logging can expose query shapes and create substantial volume.

For external monitoring, capture normalized error kinds and application-owned correlation IDs. Do not serialize ConvexCallError.cause.