Najprej vprašanje, zakaj sploh beležiti aktivnosti na vašem strežniku ? Če izklopite logiranje boste dobili na hitrosti, pa tudi log file tja do par GB lahko odmislite. Po drugi strani pa neboste vedeli kaj se je dogajalo na strežniku, sicer lahko imate druga logiranja ampak vseeno …
Najprej poglejmo v kakšnem formatu Apache shranjuje loge … privzeto:
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<programlisting><![CDATA[LogFormat "<logitem><host>%h</host>
<ident>%l</ident>
<user>%u</user>
<datetime>%t</datetime>
<url>%r</url>
<statuscode>%>s</statuscode>
<bytes>%b</bytes>\n</logitem>" commonxml
tole sem med drugim zasledil med brskanjem po nekem članku, vendar pa je zadeva dokaj potratna se boste polnili loge z dolgimi ponavljajočimi se stringi, namesto katerih bi lahko uporabili mogoče samo eno črko. Ali pa tudi ne.
Naslednja stvar, ki jo moremo dodati je:
CustomLog logs/access_log common
po tem bomo imeli nove loge in seveda stare, če ste jih prej imeli, čeprav bi osebno priporočal da se logira samo enkrat.
Ločeno beležimo dostope samo do določenih datotek, v tem primeru beležimo samo za .html in .shtml datoteke.
SetEnvIf Request_URI "(\.html|\.shtml)$" html
CustomLog logs/access.log common env=html
ali pa NE beležimo slik:
SetEnvIf Request_URI "(\.gif|\.png|\.jpg)$" image
CustomLog logs/access.log common env=!image
samo določene direktorije:
SetEnvIf Request_URI "^/weather/" weather_dept
CustomLog /groups/weather/www-access_log common env=weather_dept
preusmeritve:
LogFormat "%301U" redirects
CustomLog logs/redirects.log redirects
Pa še seveda apache2 logs 2 mysql :
http://www.outoforder.cc/projects/apache/mod_log_sql/