What Causes This Error?
This error occurs when you configure an invalid log level in your Nuxt configuration. Nuxt only accepts specific log level values.
The Problem
// nuxt.config.ts
export default defineNuxtConfig({
// ❌ Wrong - invalid log levels
logLevel: 'debug',
logLevel: 'all',
logLevel: 'trace',
logLevel: 'none',
logLevel: 3, // Numbers don't work
})
The Fix
Use Valid Log Levels
// nuxt.config.ts
export default defineNuxtConfig({
// ✅ Valid options
logLevel: 'silent', // No output
logLevel: 'error', // Only errors
logLevel: 'warn', // Errors and warnings
logLevel: 'info', // Default - errors, warnings, info
logLevel: 'verbose', // Everything
})
Log Levels Explained
| Level | Shows | Use Case |
|---|---|---|
silent | Nothing | CI/CD, production |
error | Errors only | Production |
warn | Errors + warnings | Production |
info | + Info messages | Development (default) |
verbose | Everything | Debugging |
Environment-Based Logging
// nuxt.config.ts
export default defineNuxtConfig({
logLevel: process.env.NODE_ENV === 'production' ? 'warn' : 'verbose'
})
Or using environment variables:
# .env
NUXT_LOG_LEVEL=verbose
// nuxt.config.ts
export default defineNuxtConfig({
logLevel: process.env.NUXT_LOG_LEVEL || 'info'
})
CLI Override
# Override via CLI
npx nuxi dev --log-level verbose
npx nuxi build --log-level error
Nitro Log Level
// nuxt.config.ts
export default defineNuxtConfig({
nitro: {
logLevel: 'info' // Same options: silent, error, warn, info, verbose
}
})
Vite Log Level
// nuxt.config.ts
export default defineNuxtConfig({
vite: {
logLevel: 'info' // Vite uses: 'silent' | 'error' | 'warn' | 'info'
}
})
Debug Mode
For more detailed debugging:
# Enable debug mode
DEBUG=nuxt:* npx nuxi dev
# Specific namespaces
DEBUG=nuxt:vite npx nuxi dev
DEBUG=nitro:* npx nuxi dev
Custom Logging
// nuxt.config.ts
export default defineNuxtConfig({
hooks: {
'build:before'() {
// Use consola for consistent logging
console.log('Build starting...')
}
}
})
Or use consola directly:
import { consola } from 'consola'
// Set log level programmatically
consola.level = 4 // 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=trace
TypeScript Type
// Valid type definition
type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'verbose'
export default defineNuxtConfig({
logLevel: 'info' as LogLevel
})
CI/CD Configuration
# GitHub Actions
jobs:
build:
steps:
- name: Build
run: npx nuxi build
env:
NUXT_LOG_LEVEL: error # Quieter CI output
Quick Reference
// nuxt.config.ts
export default defineNuxtConfig({
// Main Nuxt log level
logLevel: 'info',
// Server (Nitro) log level
nitro: {
logLevel: 'info'
},
// Build tool (Vite) log level
vite: {
logLevel: 'warn'
}
})
Troubleshooting Silent Mode
If logs aren’t showing:
// Check current log level
console.log('NODE_ENV:', process.env.NODE_ENV)
console.log('Log level:', process.env.NUXT_LOG_LEVEL)
// Force console output (bypasses log level)
process.stdout.write('Direct output\n')
Quick Checklist
- Use only:
silent,error,warn,info,verbose - Check spelling and case (lowercase required)
- Use string values, not numbers
- Consider environment-based configuration
- Use
DEBUG=nuxt:*for detailed debugging - Check Nitro and Vite log levels separately