Zum Inhalt
PDF

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.