Gibt es eine Funktion zum Löschen des Watchdog-Protokolls in einem Modul?

13

Ich möchte nicht jedes Mal während des Debuggens das Watchdog-Protokoll von der Benutzeroberfläche löschen. Es wird zeitaufwändig und mühsam.

Gibt es eine Drupal-Funktion, um das Watchdog-Protokoll innerhalb eines Moduls zu löschen?

chrisjlee
quelle

Antworten:

12
db_delete('watchdog')->execute();
xandeadx
quelle
1
db_truncate () ist schneller
Pere
40

Der beste Weg, dies zu tun, ist über Drush :

$ drush help watchdog-delete
Watchdog-Meldungen löschen. Es müssen Argumente oder Optionen angegeben werden, um anzugeben, welche Nachrichten gelöscht werden sollen.

Beispiele:
 drush watchdog-delete all Alle Nachrichten löschen.
 drush watchdog-delete 64 Löschen Sie Nachrichten mit der ID 64.
 drush watchdog-delete "cron run Löscht Nachrichten, die den String" cron run succesful "enthalten.
 erfolgreich "
 drush watchdog-delete --severity = notice Löscht alle Nachrichten mit einem Schweregrad der Benachrichtigung.
 drush watchdog-delete --type = cron Löscht alle Nachrichten vom Typ cron.


Argumente:
 Schweregrad Löschen Sie Nachrichten mit einem bestimmten Schweregrad.
 Typ Löschen von Nachrichten eines bestimmten Typs.


Aliase: wd-del, wd-delete
mpdonadio
quelle
1
Dies sollte die akzeptierte Antwort sein!
Matt Fletcher
Können Sie Drush-Befehle aus einem Modul heraus auslösen?
Akalata
@akalata Nein, das kannst du nicht.
mpdonadio
7
Es ist eine ausgezeichnete Antwort, aber die Frage fragt nach einer Lösung für die Ausführung in einem Modul.
Francisco Luz
Dies ist zwar sehr nützlich, beantwortet die Frage jedoch nicht richtig. Obwohl es zum Zeitpunkt der Beantwortung so aussah, als ob es sich um ein Debugging handelte, wurde die Frage kurz nach dem Veröffentlichen dieser Antwort bearbeitet. drupal.stackexchange.com/posts/18862/revisions
Elijah Lynn