Skip to content

Logs & Debugging

Terminal window
# Follow bot logs (live)
docker compose logs -f remnawave-telegram-shop-bot
# Follow database logs
docker compose logs -f postgres
# Both simultaneously
docker compose logs -f
Terminal window
# Last 100 lines
docker compose logs --tail 100 remnawave-telegram-shop-bot
# Specific time range
docker compose logs \
--since 2024-11-10T10:00:00 \
--until 2024-11-10T11:00:00 \
remnawave-telegram-shop-bot
# All available logs
docker compose logs remnawave-telegram-shop-bot > /tmp/bot-logs.txt
Terminal window
# Show only errors
docker compose logs remnawave-telegram-shop-bot | grep -i error
# With context
docker compose logs remnawave-telegram-shop-bot | grep -A 5 -B 5 "error"

Common errors:

  • connection refused - Service unavailable
  • permission denied - Access issue
  • timeout - Slow response
  • invalid token - Auth failed
Terminal window
docker compose logs remnawave-telegram-shop-bot | grep -i warning
Terminal window
docker compose logs remnawave-telegram-shop-bot | grep -i "info\|started"
[INFO] Starting bot
[INFO] Connecting to database
[INFO] Database connection established
[INFO] Loading configuration
[INFO] Bot ready for commands
[INFO] Payment received from user 123456789
[INFO] Processing payment via yookassa
[INFO] Activating subscription for user
[INFO] Subscription activated successfully
[ERROR] Failed to connect to database: connection refused
[ERROR] Invalid API token
[ERROR] User not found in Remnawave
[ERROR] Webhook signature verification failed
Terminal window
# Database related
docker compose logs remnawave-telegram-shop-bot | grep -i "database\|db\|postgres"
# Payment related
docker compose logs remnawave-telegram-shop-bot | grep -i "payment\|yookassa\|crypto\|stars"
# User related
docker compose logs remnawave-telegram-shop-bot | grep -i "user\|subscription"
# API related
docker compose logs remnawave-telegram-shop-bot | grep -i "api\|remnawave"
Terminal window
# Errors
docker compose logs remnawave-telegram-shop-bot | grep ERROR
# Warnings
docker compose logs remnawave-telegram-shop-bot | grep WARNING
# Info
docker compose logs remnawave-telegram-shop-bot | grep INFO
Terminal window
# Specific user ID
docker compose logs remnawave-telegram-shop-bot | grep "123456789"
# Recent activity
docker compose logs remnawave-telegram-shop-bot | grep -i "user" | tail -20
Terminal window
# Connect directly
docker compose exec postgres \
psql -U remnawave -d remnawave
# Check connections
SELECT * FROM pg_stat_activity;
# List tables
\dt
# Check specific table
SELECT COUNT(*) FROM subscriptions;
Terminal window
# View payment logs
docker compose logs remnawave-telegram-shop-bot | grep -A 10 "payment"
# Check transaction status
docker compose logs remnawave-telegram-shop-bot | grep "transaction\|order"
# API responses
docker compose logs remnawave-telegram-shop-bot | grep "response\|status"
Terminal window
# User starts bot
docker compose logs remnawave-telegram-shop-bot | grep "user.*start\|/start"
# User makes payment
docker compose logs remnawave-telegram-shop-bot | grep "user.*payment"
# User subscribes
docker compose logs remnawave-telegram-shop-bot | grep "subscription.*created"

Edit docker-compose.yaml:

environment:
LOG_LEVEL: DEBUG

Restart:

Terminal window
docker compose up -d
Terminal window
# Continuous logging
docker compose logs -f remnawave-telegram-shop-bot > /var/log/bot.log 2>&1 &
# Monitor file
tail -f /var/log/bot.log
Terminal window
# Create logrotate config
sudo tee /etc/logrotate.d/remnawave-bot > /dev/null <<EOF
/var/log/bot.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
EOF
Terminal window
# Create log archive
docker compose logs remnawave-telegram-shop-bot > logs_$(date +%Y%m%d).txt
gzip logs_*.txt
# Save to external storage
scp logs_*.txt.gz backup@server:/backups/
Terminal window
docker compose logs remnawave-telegram-shop-bot | \
grep -E "ERROR|FATAL|failed" | \
wc -l # Count errors
Terminal window
# Group by hour
docker compose logs remnawave-telegram-shop-bot | \
grep ERROR | \
awk '{print $1}' | \
sort | uniq -c
Terminal window
# Find slow operations
docker compose logs remnawave-telegram-shop-bot | \
grep "duration\|time" | \
sort -k3 -nr | head -10
Terminal window
# Docker daemon logs
docker logs $(docker compose ps -q remnawave-telegram-shop-bot) -f
# Container events
docker events --filter type=container
Terminal window
# Linux system logs
journalctl -u docker -f
# Check disk space
df -h

⚠️ Important: Logs may contain:

  • User IDs
  • Transaction details
  • API keys (if misconfigured)
  • Sensitive system info

Best Practices:

  • ✅ Restrict log access
  • ✅ Rotate logs regularly
  • ✅ Archive old logs
  • ✅ Never share logs publicly with keys
  • ❌ Don’t log passwords/tokens
Terminal window
docker compose logs remnawave-telegram-shop-bot | grep -E "ERROR|failed|starting"
Terminal window
docker compose logs remnawave-telegram-shop-bot | grep -i "payment\|yookassa"
Terminal window
docker compose logs remnawave-telegram-shop-bot | grep "duration\|slow\|timeout"
Terminal window
docker compose logs postgres | grep -E "ERROR|failed"

Before opening issue/support:

  1. Reproduce the problem
  2. Collect logs: docker compose logs > issue.log
  3. Include last 50-100 lines
  4. Remove any sensitive data
  5. Describe steps taken
  6. Include configuration (no secrets)