Podlove DEBUG-Mode

Hallo,

wir rufen unsere wp-cron.php alle 5 Minuten per Cronjob auf und bekommen den Outputstream per Mail übersandt (für Fehler etc.). Wordpress und alle anderen Plugins verhalten sich dabei ruhig, allerdings liefert der Podlove Podcast Publisher jede Stunde folgende Outputs:

[2022-01-28 09:05:02] Podlove.DEBUG: [job] [id 28276] start \Podlove\Jobs\DownloadIntentCleanupJob [] []
[2022-01-28 09:05:02] Podlove.DEBUG: [job] [id 28277] start \Podlove\Jobs\DownloadTimedAggregatorJob [] []

[2022-01-28 09:10:03] Podlove.DEBUG: [job] [id 28277] done [] []

Ich habe bereits versucht, die Variable PODLOVE_LOGGER_DEBUG auf false zu setzen (über wp-config.php und per Umgebungsvariable beim Cron-Aufruf). Das hat aber leider nicht geklappt.

Hat jemand einen Tipp?

Viele Grüße

Lukas.

Der Eintrag in der Crontab-Datei braucht eine Ergänzung, um die Ausgabe zu unterdrücken ("/dev/null").

Danke für den Hinweis, das haben wir für die normale Ausgabe auch gesetzt. Podlove debuggt hier aber ins Fehlerlog (stderr), das würde ich gern deaktivieren, ohne die Fehlerausgabe zu unterdrücken.

Workaround: in podlove-podcasting-plugin-for-wordpress/lib/log.php in den Zeilen 36 und 38 die Bedingung auskommentieren:

//if ($this->is_debug_enabled()) {
 $log->pushHandler(new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM, $this->get_log_level()));
//}

Wir halten das generell für einen Bug. In derselben Datei wird in der Funktion get_log_level() die Debug-Bedingung geprüft:

    public function get_log_level()
    {
        if (defined('PODLOVE_LOG_LEVEL')) {
            return PODLOVE_LOG_LEVEL;
        }

        return $this->is_debug_enabled() ? Logger::DEBUG : Logger::INFO;
    }

Eine Prüfung des Debug-Levels ist im Konstruktor also eigentlich überflüssig und führt insofern zu unerwünschtem Verhalten, als dass im Falle eines nicht gesetzt Debugmodus’ kein Handler an Monolog übergeben wird, sodass dieser das Debug-Log ins stderr schreibt: