Fehler beim Update auf 5.7.2

Hi, ich bekomme das Update auf die 5.7.2. einfach nicht hin.

Ich bekomme immer folgenden Fehler:

Fatal error: Uncaught Psr\Log\InvalidArgumentException: Level "NULL" is not defined, use one of: 100, 200, 250, 300, 400, 500, 550, 600 in /home/stage/vendor/monolog/monolog/src/Monolog/Logger.php:424 Stack trace: #0 
/home/stage/engine/Shopware/Plugins/Default/Core/ErrorHandler/Bootstrap.php(296): Monolog\Logger::toMonologLevel() #1 
/home/stage/engine/Shopware/Plugins/Default/Core/ErrorHandler/Bootstrap.php(130): Shopware_Plugins_Core_ErrorHandler_Bootstrap->createMailHandler() #2 
/home/stage/engine/Library/Enlight/Event/Handler/Plugin.php(145): Shopware_Plugins_Core_ErrorHandler_Bootstrap->onStartDispatch() #3 
/home/stage/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Plugin->execute() #4 /home/stage/engine/Library/Enlight/Controller/Front.php(135): 
Enlight_Event_EventManager->notify() #5 /home/stage/engine/Shopware/Kernel in /home/stage/vendor/monolog/monolog/src/Monolog/Logger.php on line 424 

Kann jemand etwas damit anfangen?

Hallo terzel_79,

hast Du die Ursache für diesen Fehler gefunden ? Ich habe nämlich genau das gleiche Problem nach einem Update von V 5.6.9 auf V 5.7.X. und wäre Dir sehr dankbar für einen Tipp.

Danke

Hallo @sps

Auf @terzel_79 Bitte habe ich mich dem Problem angenommen und fasse meine Erkenntnisse kurz zusammen:

Seit Shopware 5.7.0 hat sich der im Fehler genannte Monolog etwas verändert. Bisher konnte er mit der Eingabe von „Null“ arbeiten, jetzt jedoch nicht mehr.

Dem Logger wird „null“ übergeben, da offensichtlich die Einstellung für das LogLevel fehlt.

engine/Shopware/Plugins/Default/Core/ErrorHandler/Bootstrap.php(296): Monolog\Logger::toMonologLevel() #1 

in dieser Zeile findet sich

$logLevel = \Monolog\Logger::toMonologLevel($config->get('logMailLevel'));

Die Einstellung „logMailLevel“ wurde in Migrations_Migration1209 (SW5.4) hinzugefügt. Wenn jetzt das Backend geprüft wird, fällt auf, dass unter Einstellungen > Grundeinstellungen > Log die Einstellung für das Level fehlt.
Das ist das Problem. Scheinbar wurde ein Update nicht komplett durchgeführt und die Einstellung nicht hinzugefügt.

Leider hat es nicht geholfen, die fehlenden Datenbank-Einträge von Hand zu erstellen. Als Erste Hilfe könnte in der genannten Datei das Loglevel festgesetzt werden.

$logLevel = \Monolog\Logger::toMonologLevel($config->get('logMailLevel'));

wird zu

$logLevel = \Monolog\Logger::toMonologLevel(500);

oder einer entsprechenden anderen Zahl

DEBUG = 100
INFO = 200
NOTICE = 250
WARNING = 300
ERROR = 400
CRITICAL = 500
ALERT = 550
EMERGENCY = 600

Mir ist bewusst, dass diese Lösung nicht updatesicher ist, jedoch hilft sie für den Moment und vielleicht hat jemand noch einen nachhaltigen Ansatz.

1 „Gefällt mir“

Hallo zusammen,

könnt ihr dafür ein Ticket anlegen? Dann schauen wir uns das mal an. Gerne auch die Stelle hinzufügen, die scheinbar das Problem ist.

Viele Grüße aus Schöppingen
Michael Telgmann

Guten Tag Herr Telgmann,
vielen Dank für die Meldung (ich bin „sps“) und ich habe nun ein Ticket zu diesem Fall erstellt. (SWAG-191494).

Danke und alles Gute für 2022.
MfG
T. L.