Debug-Log-Kontrolle

debug.log frisst Ihre Disk

WP_DEBUG_LOG schreibt jede Notice, Warning und Deprecation in eine Datei, die nie rotiert wird. Ein gesprächiges Plugin kann tausende identische Zeilen pro Tag hinzufügen - bis die Disk voll ist und die Website aus Gründen ausfällt, die scheinbar nichts damit zu tun haben.

Wie eine Textdatei still eine Disk füllt

Mit eingeschaltetem WP_DEBUG_LOG wird jede PHP-Notice, -Warning und -Deprecation an wp-content/debug.log angehängt. Keine Rotation, keine Obergrenze, kein Aufräumen - es wächst nur. Auf einer Website, die niemand beobachtet, überlebt diese Datei das Problem, für dessen Debug sie eingeschaltet wurde.

Das Muster

Alles war in Ordnung, dann funktioniert nichts mehr. Uploads schlagen fehl. Updates schlagen fehl. Manchmal fällt die Website selbst aus. Sie prüfen die Disk: voll. Die mit Abstand größte Datei darauf: debug.log.

Ein Plugin, das bei jedem Request eine Notice schreibt, fügt tausende nahezu identische Zeilen pro Tag hinzu. Monate später ist das Log Gigabytes groß, Backups blähen sich damit auf, und das erste Anzeichen, dass etwas nicht stimmt, ist eine volle Disk - was wie ein Hosting-Problem aussieht, nicht wie ein Logging-Problem.

Warum es nie von selbst aufhört

  • Die Datei ist append-only. Nichts in WordPress rotiert, kürzt oder begrenzt sie - niemals.
  • Dieselbe Notice wiederholt sich bei jedem Request. Ein veralteter Funktionsaufruf auf einer vielbesuchten Seite ist eine Zeile pro Besuch.
  • Auf den meisten Websites hätte WP_DEBUG vor Monaten auf Produktion ausgeschaltet werden sollen - das Log füllt sich weiter, ob es jemand liest oder nicht.
  • Und je größer es wird, desto weniger öffnet es jemand, also bleiben auch die echten Fehler darin ungelesen.

Was Debug Log Guard damit macht

Debug Log Guard findet das Log, das PHP wirklich schreibt - es berücksichtigt die WP_DEBUG-Konstanten und fällt auf php.inis error_log zurück, wenn das das echte Ziel ist - dann gibt es Ihnen drei Dinge:

  • Eine gruppierte Zusammenfassung. Dieselbe Nachricht zu einer Zeile zusammengefasst, mit Zähler, Quelle (Core, Plugin oder Theme) und erstem/letztem Auftreten. Die Zeile, die zwei Gigabytes gefüllt hat, steht oben, statt sich über vier Millionen Zeilen zu wiederholen.
  • Ein Live-Tail. Die letzten 200 Zeilen, gestreamt - die Datei wird nie komplett in den Speicher geladen, also öffnet sich ein Multi-GB-Log in Sekunden, statt die Seite hängen zu lassen.
  • Sichere Schrumpf-Aktionen. Compact fasst die Wiederholungen zusammen, Rotate archiviert die Datei und fängt neu an, Clear leert sie. Alle drei legen zuerst ein Backup an und laufen atomar - ein unvollständiger Schreibvorgang beschädigt das Log nie.
50 MB
Standard-Schwellenwert
200
Zeilen im gestreamten Tail
1 Std.
Takt der Größenwache
WP-CLI
status, summary, compact, clear

Die stündliche Größenwache

Ein WP-Cron-Job prüft das Log einmal pro Stunde. Über Ihrem Schwellenwert - standardmäßig 50 MB - führt er die von Ihnen gewählte Aktion aus: compact, rotate oder clear, und behält die Anzahl Backups, die Sie eingestellt haben. Sie entscheiden, was „zu groß" heißt; die Wache setzt es durch, während Sie schlafen.

Es weiß auch, wann nicht kompaktiert werden darf: ein Log jenseits von ~1 GB wird zwangsweise rotiert, weil das Zusammenfassen einer Multi-GB-Datei keine sichere In-place-Operation ist. Die Kompaktierung prüft zuerst freien Disk-Platz, scannt riesige Dateien vom Tail statt vom Anfang und läuft auf einem Zeitbudget - wenn es ausgeht, bricht sie ab und lässt das Original intakt.

Es läuft auf WP-Cron, also kann die Datei zwischen den Ticks weiter wachsen - die Wache begrenzt den Schaden, sie stoppt die Schreibvorgänge nicht.

Das Log ist das Symptom - beheben Sie die Quelle

Die Datei zu schrumpfen behebt nicht, was hineinschreibt. Die gruppierte Zusammenfassung ist dafür der wichtige Teil: die Quellspalte nennt das Plugin, Theme oder die Core-Datei, die jede Nachricht erzeugt, damit Sie den Verursacher reparieren, ersetzen oder melden können, der das Log vollspammt, statt die Beweise zu löschen.

Zwei weitere Warnungen, die sich lohnen. Die Wache meldet, wenn WP_DEBUG_DISPLAY auf Produktion eingeschaltet bleibt - das zeigt Ihren Besuchern Fehler an - und sie warnt, wenn die Logdatei selbst öffentlich erreichbar ist, wonach Leute wirklich suchen. Wenn niemand das Log auf einer Live-Website liest, ist der ehrliche Fix, WP_DEBUG auszuschalten; Config Manager schreibt die wp-config-Konstanten sicher, mit Backup.

Debug Log Guard ist ein Pro-Modul - ein Klick zu einer gruppierten Tabelle mit dem benannten Übeltäter und einer Cron-Wache, die die Datei begrenzt hält.

Pro ab $79/Jahr →

FAQ: debug.log zu groß

Warum ist meine debug.log-Datei so groß?

WP_DEBUG_LOG hängt jede Notice, Warning und Deprecation an - und dieselbe Nachricht wiederholt sich meist bei jedem Request. Ein Plugin, das eine Notice pro Seitenaufruf schreibt, erzeugt tausende Zeilen pro Tag. Nichts in WordPress rotiert oder begrenzt die Datei, also wächst sie, bis die Disk voll ist.

Ist es sicher, debug.log zu löschen?

Ja - sie regeneriert sich beim nächsten Fehler. Aber Sie verlieren die Beweise dafür, welches Plugin sie vollspammt, und wenn die Ursache noch da ist, füllt sie sich sofort wieder. Clear und Rotate von Debug Log Guard legen zuerst ein Backup an, damit Sie sie schrumpfen können, ohne die Daten zu verlieren.

Wie stoppe ich das Wachstum von debug.log?

Zwei Wege, und sie sind nicht dieselbe Aufgabe. Die stündliche Größenwache von Debug Log Guard begrenzt die Datei auf Ihren Schwellenwert - standardmäßig 50 MB - mit compact, rotate oder clear. Die Schreibvorgänge zu stoppen heißt, das Plugin zu reparieren, das sie spammt, oder WP_DEBUG auszuschalten; die gruppierte Zusammenfassung nennt die Quelle in beiden Fällen.

Behebt Debug Log Guard die Fehler im Log?

Nein - es zeigt Ihnen, welches Plugin, Theme oder welche Core-Datei sie schreibt. Die gruppierte Tabelle gibt jeder Nachricht einen Zähler und eine Quelle, damit Sie den Übeltäter reparieren oder ersetzen, statt wiederholt ein Log zu löschen, das sich weiter füllt.

Was, wenn ich WP_DEBUG auf einer Live-Website brauche?

Dann ist das sichere Setup WP_DEBUG_LOG an, WP_DEBUG_DISPLAY aus - und Debug Log Guard, das auf die Größe achtet. Es warnt auch, wenn das Log öffentlich erreichbar ist, damit die Datei, die Sie behalten, Ihre Pfade nicht an jeden preisgibt, der danach fragt.

Läuft die Größenwache auch, wenn WP-Cron kaputt ist?

Nein - die stündliche Prüfung läuft über WP-Cron, wenn also Cron nicht feuert, kann die Wache auch nicht ticken. Die manuellen Aktionen und die gruppierte Zusammenfassung hängen nicht von Cron ab und funktionieren trotzdem weiter.

Schrumpfen Sie das Log, behalten Sie die Beweise

Debug Log Guard gruppiert die Wiederholungen, streamt den Tail und kompaktiert, rotiert oder leert die Datei mit Backup - dann hält die stündliche Größenwache sie begrenzt. Pro-Modul, $79/Jahr für eine Website. Jeder bezahlte Plan enthält alle 19 Module.

Pro kaufen – ab $79/Jahr Anleitung: Website down Alle Tarife auf der Preisseite →