2 Logging
Ralf Warmuth edited this page 2025-11-20 22:58:19 +01:00

Logging

Mail Filter protokolliert alle wichtigen Ereignisse in Log-Dateien.

Log-Datei

Logs werden standardmäßig in logs/mail-filter.log geschrieben. Der Pfad kann in der Konfiguration angepasst werden:

general:
  log_file: "logs/mail-filter.log"

Log-Level

Das Log-Level kann in der Konfiguration gesetzt werden:

general:
  log_level: "INFO"  # DEBUG, INFO, WARNING, ERROR

Verfügbare Log-Level

  • DEBUG: Detaillierte Informationen für Debugging
  • INFO: Allgemeine Informationen (Standard)
  • WARNING: Warnungen
  • ERROR: Fehler

Log-Format

Logs werden im folgenden Format geschrieben:

2024-01-15 10:30:15 [INFO] [account:work] Checking folder: INBOX
2024-01-15 10:30:16 [INFO] [account:work] Found 3 new messages
2024-01-15 10:30:17 [INFO] [account:work] [rule:Wichtige Mails] Matched message UID:12345
2024-01-15 10:30:18 [INFO] [account:work] [rule:Wichtige Mails] Executed action: move
2024-01-15 10:30:19 [WARNING] [account:work] Rate limit reached: 100 actions/minute
2024-01-15 10:30:20 [ERROR] [account:work] Failed to execute action: move

Log-Kategorien

Account-Operationen

[INFO] [account:work] Checking folder: INBOX
[INFO] [account:work] Found 3 new messages
[INFO] [account:work] Processing 3 messages

Filter-Matching

[INFO] [account:work] [rule:Wichtige Mails] Matched message UID:12345
[DEBUG] [account:work] [rule:Wichtige Mails] Criterion 'from' = 'boss@company.com': True

Aktionen

[INFO] [account:work] [rule:Wichtige Mails] Executed action: move
[INFO] [account:work] [rule:Wichtige Mails] Executed action: forward
[ERROR] [account:work] [rule:Wichtige Mails] Failed to execute action: move

Rate Limiting

[WARNING] [account:work] Rate limit reached: 100 actions/minute
[WARNING] [account:work] Rate limit reached: 1000 actions/hour

Fehler

[ERROR] [account:work] Connection failed: Connection timeout
[ERROR] [account:work] Failed to execute action: move
[ERROR] [account:work] Script execution failed: scripts/process.sh

Log-Analyse

Häufige Fehler finden

grep ERROR logs/mail-filter.log

Rate-Limit-Warnungen

grep "Rate limit" logs/mail-filter.log

Filter-Aktivitäten

grep "Matched message" logs/mail-filter.log

Account-spezifische Logs

grep "account:work" logs/mail-filter.log

Debug-Modus

Für detaillierte Debugging-Informationen setze das Log-Level auf DEBUG:

general:
  log_level: "DEBUG"

Im DEBUG-Modus werden zusätzliche Informationen protokolliert:

  • Detaillierte Kriterien-Prüfungen
  • Body-Loading-Operationen
  • State-Datenbank-Operationen
  • Verbindungsdetails

Log-Rotation

Mail Filter führt keine automatische Log-Rotation durch. Verwende externe Tools wie logrotate:

# /etc/logrotate.d/mail-filter
/pfad/zum/mail-filter/logs/mail-filter.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
}

Troubleshooting

Keine Logs werden geschrieben

  1. Prüfe, ob das Log-Verzeichnis existiert:

    mkdir -p logs
    
  2. Prüfe Dateiberechtigungen:

    ls -la logs/
    

Logs werden zu groß

  1. Aktiviere Log-Rotation (siehe oben)
  2. Reduziere das Log-Level auf WARNING oder ERROR
  3. Lösche alte Log-Dateien manuell

Fehler werden nicht protokolliert

  1. Prüfe das Log-Level (sollte INFO oder niedriger sein)
  2. Prüfe, ob die Log-Datei beschreibbar ist
  3. Prüfe die Konfiguration

Weitere Informationen