Log Levels
NetBird supports the following log levels (from most to least verbose):The default log level is
info for production use.Client Logging
Log File Locations
Client logs are written to different locations based on the platform:Linux
Linux
Windows
Windows
macOS
macOS
FreeBSD
FreeBSD
Configure Client Log Level
Set Log Level via Command Line
Available Log Levels
Set Log Level via Environment Variable
Log Output Destinations
NetBird supports multiple log outputs simultaneously:File Logging (Default)
File Logging (Default)
Console/Stdout
Console/Stdout
Syslog
Syslog
Multiple Outputs
Multiple Outputs
Temporary Debug Logging
Run with trace logging for a specific duration, then automatically create a debug bundle:- Sets log level to
trace - Enables sync response persistence
- Runs for the specified duration
- Creates a debug bundle with logs
- Restores original log level
Server Logging
Management Server
Configure Log Level
Docker Compose Configuration
View Management Server Logs
Signal Server
Relay Server
Log Rotation
Docker Compose Log Rotation
Configure in yourdocker-compose.yml:
Linux System Log Rotation
Create/etc/logrotate.d/netbird:
Structured Logging
NetBird uses structured logging with contextual fields:Log Format
HTTP Request Tracing
All HTTP requests include a unique request ID:Common Log Patterns
Successful Peer Connection
Successful Peer Connection
NAT Traversal Failure
NAT Traversal Failure
Authentication Issues
Authentication Issues
High Login Latency
High Login Latency
Anonymized Logging
Enable anonymization to hide sensitive information:Log Analysis
Search Logs
Docker Logs
Centralized Logging
Sending to External Systems
Loki (Grafana)
Loki (Grafana)
Fluentd
Fluentd
Syslog
Syslog
Troubleshooting Logging Issues
1
Check log file permissions
2
Verify log directory exists
3
Check disk space
4
Test with console output