Șterge Logs & restart Apache (Windows)

Șterge Logs & restart Apache (Windows)

Atunci când moștenesc vreun proiect care îmi trântește notices, warnings și altele, log-urile de Apache devin rapid foarte… consistente (xdebug poartă și el o parte de responsabilitate). La un moment dat strânsesem câțiva GB de logs (atât access.log cât și error.log). Prin urmare, m-am obișnuit să le șterg periodic, o dată la câteva luni.

Fun fact: am avut un server în producție care strânsese >8GB în error.log

Și azi mi-a picat fisa: dacă fac fix același lucru de mai multe ori… înseamnă …. căăăăă…. pot…. automatiza! Hei, cine s-ar fi gândit?!

Facem un fișier clear-apache-logs.bat în apache\bin. În cazul meu: C:\xampp\apache\bin\clear-apache-logs.bat în care punem următoarele linii:

call C:\xampp\apache\bin\httpd.exe -k stop
type nul > C:\xampp\apache\logs\error.log
type nul > C:\xampp\apache\logs\access.log
call C:\xampp\apache\bin\httpd.exe -k start
pause

Se întâmplă următoarele:

  1. Oprim apache
  2. Ștergem error.log
  3. Ștergem și access.log
  4. pornim apache
  5. Lăsăm fereastra deschisă, să vedem că s-a terminat totul cu bine.

Click 2 pe .bat => run as administrator. Gata.

Cum integrăm cu PHP Storm?§

Ctrl+Alt+S (settings) -> Tools -> External Tools:

În fereastra proaspăt deschisă completăm:

  1. Program: powershell.exe
  2. Arguments: -Command "Start-Process C:\xampp\apache\clear-apache-logs.bat -Verb RunAs"
  3. Debifăm Syncronize files after execution și Open console for tool output.

Îl execuți apăsând de două ori Shift (search everywhere) și scriind Restart Apache. Se deschide un cmd și cam aia e tot:

4 Comentarii

Mălin a scris

Cum îți place ție să-ți complici viața când există logrotate. Am văzut și eu loguri și de 30+GB cândva, dar acum logrotate cu centralizare de loguri în Graylog reprezintă soluția optimă și de stocare și de vizualizare.
E frumos să lucrezi cu grep, dar parcă mult mai frumos e când faci o căutare direct în Elasticsearch.

Ionuț Staicu a scris

@Cosmin: Există

@Mălin: probabil, dar sunt două chestii aici:

1. pe windows nu am reușit să fac logrotate să meargă bine (i.e. să-mi șteargă log-urile mai vechi) indiferent de setări
2. sunt cazuri în care vreau să șterg log-urile mid-day, complet razna (e.g. schimb proiectul și vreau un soi de clean slate), unde iar, logrotate nu ar ajuta.

Cât despre graylog: știu de el, dar pentru un dev mi se pare overkill :)

Adaugă un comentariurăspuns pentru

Poți adăuga bucăți de cod folosind [code]codul tău aici[/code], [js][/js], [php][/php] etc.

Link-urile în context sunt binevenite. Comentariile fără nume/email valid sunt șterse.
PS: Comentariul NU este editabil.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Site-ul blog.iamntz.com utilizează cookie-uri. Continuarea navigării presupune acceptarea lor. Mai multe informații.

windows apple dropbox facebook twitter