Logging in OXID 6

18. September 2020

 

Bis OXID eShop 5.3/4.10 wurden alle Fehler (Exceptions) in die Datei log/EXCEPTION_LOG.txt geschrieben. Mit OXID 6 wurde das Logging erweitert und die Symfony Komponente monolog (PSR-3) integriert. Alle Log-Einträge (nicht nur Fehler) werden nun unter log/oxideshop.log gespeichert.

Konnte man früher in der Funktion Utils::writeToLog() eine spezifisches Log-File übergeben werden aktuell alle Einträge mit einem definierten Log-Level in die Datei oxideshop.log geschrieben. Dies kann jedoch relativ schnell unübersichtlich werden, vor allem wenn auch andere Module ihre Informationen hier speichern.

In unserem OXID Open-Source Modul psCacheWarmer haben wir die Möglichkeit bereits genutzt und einen eigenen Logger integriert.

Instanzieren des Loggers:

$logger = Logging::getLogger('meinLogName', Registry::getConfig()->getLogsDir() . 'meinlogfile_' . date("dmY_His") . '.log');

Speichern eines Log-Eintrags:

$logger->info('Mein erster Log-Eintrag.');

Weitere Informationen zum Erweitern der Log-Funktion gibt es auch in der OXID Dokumentation.