Apakah ada fungsi untuk menghapus log anjing penjaga di dalam modul?

13

Saya tidak ingin menghapus log pengawas dari UI setiap kali saat debugging. Itu menjadi memakan waktu dan membosankan.

Apakah ada fungsi Drupal untuk menghapus log pengawas di dalam modul?

chrisjlee
sumber

Jawaban:

13
db_delete('watchdog')->execute();
xandeadx
sumber
1
db_truncate () lebih cepat
Pere
40

Cara terbaik untuk melakukan ini adalah melalui drush :

$ drush help watchdog-delete
Hapus pesan anjing penjaga. Argumen atau opsi harus disediakan untuk menentukan pesan mana yang akan dihapus.

Contoh:
 drush watchdog-delete all Hapus semua pesan.
 drush watchdog-delete 64 Hapus pesan dengan id 64.
 drush watchdog-delete "cron run Hapus pesan yang berisi string" cron run succesful ".
 berhasil "
 drush watchdog-delete --severity = pemberitahuan Hapus semua pesan dengan kerasnya pemberitahuan.
 drush watchdog-delete --type = cron Hapus semua pesan bertipe cron.


Argumen:
 severity Menghapus pesan dari tingkat keparahan yang diberikan.
 ketik Hapus pesan dari jenis yang diberikan.


Alias: wd-del, wd-delete
mpdonadio
sumber
1
Ini harus menjadi jawaban yang diterima!
Matt Fletcher
Bisakah Anda memicu perintah drush dari dalam modul?
akalata
@akalata Tidak, Anda tidak bisa.
mpdonadio
7
Ini adalah jawaban yang sangat baik tetapi pertanyaannya meminta solusi untuk berjalan dalam modul.
Francisco Luz
Meskipun ini sangat bermanfaat, sebenarnya tidak menjawab pertanyaan dengan tepat. Meskipun muncul pada saat jawaban itu menyiratkan itu untuk tujuan debugging, pertanyaan itu diedit tidak lama setelah jawaban ini diposting. drupal.stackexchange.com/posts/18862/revisi
Elijah Lynn