In Logfile schreiben - funktioniert nicht

Hallo zusammen,
ich entwickle derzeit ein Plugin und möchte eigentlich einfach nur unter var/log in die Logfiles schreiben, genauer gesagt in den Logger speziell für Plugins. Ich habe bereits Snippets aus der Doku (die teilweise veraltet scheint?!) und aus einem anderen Post im Forum probiert, alles ohne Erfolg:

https://developers.shopware.com/developers-guide/debugging/
https://forum.shopware.com/discussion/comment/164481

So wie ich es gesehen habe, müsste ich ja etwa folgende Befehle nehmen:

$logger = Shopware()->Container()->get('pluginlogger');
$logger->log('Ich logge jetzt');

Schreibrechte für den “log”-Ordner sind vorhanden. Alle Logging-bezogenen Einstellungen im Backend sind soweit ich weiß auf “Ja” gesetzt. Es existieren auch Logfiles in diesem Ordner, die Meldungen darin wurden aber stets vom System erzeugt (Exceptions usw.). Wenn ich mit einer der Methoden, die ich dafür gefunden habe, mithilfe von Monolog heißt es glaube ich, loggen will (siehe die beiden Links), passiert gar nix. Es wird keine Fehlermeldung ausgegeben, aber auch keine Logfile für das heutige Datum erzeugt, geschweige denn etwas geloggt. Ausgeführt werden die Logging-Methoden auch garantiert, habe die Snippets in einen Controller und in die install()-Methode gesetzt - ohne Erfolg wie gesagt.

Jetzt bin ich etwas überfragt. Ich freue mich, falls jemand Rat weiß.

Hallo neuHier,

du kannst folgendes nutzen:

Shopware()->PluginLogger()->info("Ich logge jetzt");

siehe auch: Debugging Shopware

Viele Grüße
Frank Schlattmann

1 Like

Für alle die noch auf dieses Problem stossen… wichtig ist die aktivierung des Loglevels in der config.php…

siehe: https://forum.shopware.com/discussion/55794/plugin-logger-nur-noch-logging-bei-error-level?

Danke an supermonster 

 [
        'level' => 200
    ]
];

/* Konstanten aus \Monolog\Logger
DEBUG = 100
INFO = 200
NOTICE = 250
WARNING = 300
ERROR = 400
CRITICAL = 500
ALERT = 550
EMERGENCY = 600
*/

 

 

2 Likes