Logging
Überblick
Die Schnittstelle protokolliert alle Sync-Vorgänge in Logdateien. Die Logdateien können über das Management Interface eingesehen und heruntergeladen werden.
Debug-Stufen:
| Flag | Level | Beschreibung |
|---|---|---|
-d |
ERROR | Nur Fehlermeldungen (Standard) |
-dd |
WARNING | Fehler und Warnungen |
-ddd |
INFO | Fehler, Warnungen und Informationen |
-dddd |
DEBUG | Alle Meldungen inkl. Debug-Ausgaben |
Die Debug-Stufe kann pro Shop in der management.ini oder beim manuellen Start über die erweiterte Ansicht im Management Interface eingestellt werden.
Langzeit-Fehlerprotokoll
Zusätzlich zum normalen Abrufprotokoll wird pro Übertragungsart eine Datei nach
dem Muster errors-energy-<Übertragungsart>.log geschrieben. Sie enthält nur
Meldungen ab Stufe ERROR, rotiert täglich und bewahrt 90 rotierte Tagesdateien
auf. Dadurch bleiben vollständige Tracebacks auch dann verfügbar, wenn das
normale Abrufprotokoll bereits nach mehreren Programmläufen rotiert wurde.
Manuelle Konfiguration
Die Logausgaben können optional manuell konfiguriert werden.
Eine Beispielkonfiguration findet sich in der Datei logging.cfg.
Wird diese Datei im Programmverzeichnis gefunden, wird die Logkonfiguration aus dieser gelesen. Der Dateiaufbau entspricht dabei dem Python-Standard.
Es stehen folgende Variablen zur Verfügung.
| Variable | Beschreibung |
|---|---|
| %(logfolder)s | Das Verzeichnis für Logdateien für den Mandanten |
| %(filename)s | Der Dateiname für die Übertragungsart (syncProducts, syncPrices etc.) |
Existiert in der Konfiguration ein Logger mit dem Namen baseHandler, so werden in diesen alle
Lognachrichten für die laufende Übertragung geschrieben.
E-Mail-Benachrichtigungen
Über die [MAIL]-Sektion in der config.ini können Fehlerbenachrichtigungen per E-Mail versendet werden. Die Schnittstelle verwendet einen BufferingSMTPHandler, der Log-Nachrichten puffert und gesammelt per E-Mail versendet.
[MAIL]
; SMTP-Server
server =
; SMTP-Port
port = 0
; STARTTLS verwenden
use_tls = False
; SMTP-Benutzername
username =
; SMTP-Passwort
password =
; Betreff-Prefix
subject_prefix = [SHOPWARE FEHLERLOG]
; Absender-Adresse
sender =
; Empfänger-Adresse
receiver =
; Maximale Anzahl gepufferter Nachrichten
capacity = 1000
; Log-Level für E-Mail-Versand
level = DEBUG
; E-Mail-Versand aktivieren
tosend = False
Um den E-Mail-Versand zu aktivieren, muss tosend = True gesetzt und ein gültiger SMTP-Server konfiguriert werden. Bei aktiviertem use_tls wird STARTTLS für die Verbindung verwendet.
Plugin-Logger / Debug-Modus
Um das Logging für die Plugins zu aktivieren, muss in die logging.cfg folgender Block eingefügt werden bzw. der Log-Level muss auf DEBUG gesetzt werden:
[logger_shop.plugins]
level=DEBUG
handlers=consoleHandler,baseHandler
qualname=shop.plugins
propagate=0
Performance-Traces
Für die gezielte Performance-Analyse steht das Beispiel-Plugin
plugins/examples/performance_trace.py zur Verfügung. Kopiere es als
<Installationsordner>\plugins\performance_trace.py in die Installation und
aktiviere es mit --trace nur für den zu untersuchenden Prozess:
.\ess.exe syncProducts --trace
Im Management Interface kann --trace an die komma-separierten
Custom-Parameter angehängt werden, zum Beispiel:
syncProducts,-cp,C:\Pfad\zur\config.ini,--trace
Das Plugin wertet den zusätzlichen Parameter selbst aus. Ist es nicht installiert, ignoriert der vorhandene Argumentparser den unbekannten Parameter und der Sync läuft ohne Performance-Trace weiter.
Der Trace wird beim Prozessende unter
logs/viztrace-<Befehl>-<Zeitstempel>-<PID>.json gespeichert. Ohne --trace
bleibt das Plugin inaktiv. Performance-Tracing erhöht Laufzeit und Speicherbedarf
und sollte deshalb nur zur Diagnose eingeschaltet werden.