All Tools
Log Levels Reference
Interactive reference mapping log levels across Python, Java, Node.js, Go, and syslog.
Show frameworks:
| Level | When to Use | Python | Java (Log4j/SLF4J) | Node.js (Pino/Winston) | Go (slog/zap) | Syslog |
|---|---|---|---|---|---|---|
| TRACE | Most granular. Method entry/exit, variable values. Never use in production. | — | TRACE | trace | — | — |
| DEBUG | Detailed diagnostic info useful during development and debugging. | DEBUG (10) | DEBUG | debug | Debug | 7 (Debug) |
| INFO | General operational events. Application started, request processed, etc. | INFO (20) | INFO | info | Info | 6 (Informational) |
| WARN | Unexpected but recoverable situations. Deprecated API usage, retry attempts. | WARNING (30) | WARN | warn | Warn | 4 (Warning) |
| ERROR | Something failed. Request couldn't be processed, external service down. | ERROR (40) | ERROR | error | Error | 3 (Error) |
| FATAL / CRITICAL | Application cannot continue. Unrecoverable state, process will exit. | CRITICAL (50) | FATAL | fatal | Fatal (os.Exit) | 0-2 (Emergency/Alert/Critical) |
Frequently Asked Questions
What's the difference between WARN and ERROR?
WARN indicates an unexpected situation that might cause problems, but the application can continue. ERROR means something failed and requires attention, but the app is still running. FATAL/CRITICAL means the app cannot continue.
What log level should I use in production?
Most production systems use WARN or INFO. DEBUG and TRACE generate too much output and can impact performance. Use structured logging and adjust per-module when investigating issues.
Tired of debugging in production?
Bugsly catches errors before your users do — with AI-powered explanations and instant fixes.
Get Started Free