Existe uma função para limpar o log do watchdog dentro de um módulo?

13

Não quero limpar o log do watchdog da interface do usuário toda vez que estiver depurando. Torna-se demorado e tedioso.

Existe uma função Drupal para limpar o log do watchdog dentro de um módulo?

chrisjlee
fonte

Respostas:

13
db_delete('watchdog')->execute();
xandeadx
fonte
1
O db_truncate () é mais rápido #
Pere #
40

A melhor maneira de fazer isso é via drush :

$ drush ajuda watchdog-delete
Excluir mensagens de vigilância. Argumentos ou opções devem ser fornecidos para especificar quais mensagens excluir.

Exemplos:
 drush watchdog-delete all Exclua todas as mensagens.
 drush watchdog-delete 64 Exclua as mensagens com o ID 64.
 drush watchdog-delete "cron run Exclua as mensagens que contêm a string" cron run succesful ".
 bem sucedido "
 drush watchdog-delete --severity = notice Exclua todas as mensagens com uma severidade de aviso prévio.
 drush watchdog-delete --type = cron Exclua todas as mensagens do tipo cron.


Argumentos:
 severity Exclua as mensagens de um determinado nível de gravidade.
 tipo Exclua mensagens de um determinado tipo.


Aliases: wd-del, wd-delete
mpdonadio
fonte
1
Essa deve ser a resposta aceita!
Matt Fletcher
Você pode acionar comandos drush de dentro de um módulo?
akalata
@akalata Não, você não pode.
mpdonadio
7
É uma excelente resposta, mas a pergunta pede uma solução para execução em um módulo.
Francisco Luz
Embora isso seja altamente útil, na verdade não responde adequadamente à pergunta. Embora apareça no momento da resposta, isso significava que era para fins de depuração, a pergunta foi editada logo após a postagem da resposta. drupal.stackexchange.com/posts/18862/revisions
Elias Lynn