Zum Hauptmenü

Log-Level in WordPress einstellen

Jörg Kruse

In der Konfigurationsdatei von WordPress wp-config.php kann eingestellt werden, dass PHP-Fehler ausgegeben oder in einer Datei geloggt werden. Bei der Entwicklung eines Themes oder Plugins empfiehlt sich die Ausgabe direkt auf der Webseite:

define( 'WP_DEBUG', true );

Auf einer produktiven Website sollten Fehler dagegen besser nicht ausgegeben, sondern (standardmäßig in der Datei wp-content/debug.log) geloggt werden:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Der Log-Level lässt sich hier allerdings nicht einstellen. Sobald WP_DEBUG als true definiert ist, werden ausnahmslos alle PHP-Fehler ausgegeben bzw. geloggt. WordPress bietet hier keine Möglichkeit, den Error-Level einzustellen. Auch der Einsatz der Funktion error_reporting() in der Datei wp-config.php bleibt wirkungslos, da der Log-Level anschließend von WordPress überschrieben wird.

Manchmal ist es aber durchaus praktisch, den Error-Level abzusenken. So z. B. bei der Entwicklung eines Plugins, welches ein anderes Plugin voraussetzt, das bei jedem Seitenaufruf zahlreiche deprecated Fehler ausspuckt.

Abhilfe schafft hier ein sogenanntes MU-Plugin („Must Use Plugin“). Diese Plugins können in dem Verzeichnis wp-content/mu-plugins abgelegt werden und werden dann automatisch vor der Ausführung weiterer Plugins ausgeführt. Beispielsweise könnte in diesem Verzeichnis eine Datei error-reporting.php mit folgendem Inhalt abgelegt werden:

<?php 
error_reporting( E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED );

Deprecated Errors werden dann nicht mehr ausgegeben bzw. geloggt.

Tags: PHP, WordPress

Kommentar schreiben

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Kommentare werden erst nach Freischaltung veröffentlicht