Verschiedene Logfile for Virtualhosts per mod_rewrite

Alles, was den Apache betrifft, kann hier besprochen werden.

Verschiedene Logfile for Virtualhosts per mod_rewrite

Postby Dj_GL » 07. May 2005 23:44

Hallo zusammen ..

Ich hab mal wieder eine Frage.

Und zwar verwende ich mod_rewrite um meine Virtualhosts strukturiert auf das Dateisystem abzubilden ...

Mein Virtualhost-Container sieht so aus:
Code: Select all
<VirtualHost *>
    ServerAdmin xxxxxxxxx
    ServerName gleitgeb.at

    LogFormat "%V %h %l %u %t \"%r\" %s %b"
    TransferLog "|C:/HTTP-Server/Cronolog/cronolog.exe C:/HTTP-Server/Apache2/logs/%Y-%m-%d-access.log"
    ErrorLog    "|C:/HTTP-Server/Cronolog/cronolog.exe C:/HTTP-Server/Apache2/logs/%Y-%m-%d-errors.log"
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{SERVER_NAME} ^([a-z0-9_\-]+?\.[a-z]{2,5})(:[0-9]{2,4})?$
RewriteRule ^/(.*) G:/Root/%1/_/$1 [L]

RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{SERVER_NAME} ^([a-z0-9_\-\.]+)\.([a-z0-9_\-]+?\.[a-z]{2,5})(:[0-9]{2,4})?$
RewriteRule ^/(.*) G:/Root/%2/%1/$1 [L]

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

</VirtualHost>


Dh. irgendwas.gleitgeb.at geht auf G:\Root\gleitgeb.at\irgendwas\ usw.

Das ist aber eigentlich eher Hintergrundinfo.

Meine Frage ist jetzt ob ich statt einer kompletten Logfile in der eben die Domain/Subdomain mitgespeichert wird auch verschiedene Logfiles für jede Domain/Subdomain speichern lassen kann und wie das in diesem speziellen Fall einzubauen wäre.

Bitte um Hilfe

Ich hoffe es ist halbwegs verständlich was ich hier schreibe.

Danke schon mal
User avatar
Dj_GL
 
Posts: 41
Joined: 07. June 2003 23:57

Postby deepsurfer » 09. May 2005 08:22

muss zugeben das ich mit deinem Konzept nicht ganz zurecht komme.

Ich beziehe mich darauf das der Apache von sich aus eigene LOGs erstellen kann, und diese kann ich zu jeden x-beliebigen VHOST generieren lassen.
So auch struckturiert das jedes LOGfiles nur zu einem VHOSTnamen gehört.

In deinem VHOSTbeispiel benutzt du ein externes LOGprogramm, daher meine unsichere Frage---> was kann dieses Teil, was das Apache Logfile nicht beinhaltet ausser das mit diesem externen Programm (speicherfresser) jeden Tag ein neues LOGfile erstellt wird.

Um auf deine Frage zurück zu kommen....
Du musst dem externen Programm mitteilen das er für jeden generierten VHOST {SERVER_NAME} ein seperates Logfile namentlich anlegen soll.

Wobei ich so beim betrachten folgendes für jeden erstellten VHOST versuchen würde.


LogFormat "%V %h %l %u %t \"%r\" %s %b"
TransferLog "|C:/HTTP-Server/Cronolog/cronolog.exe
C:/HTTP-Server/Apache2/
VHOSTname/logs/%Y-%m-%d-access.log"
ErrorLog "|C:/HTTP-Server/Cronolog/cronolog.exe
C:/HTTP-Server/Apache2/
VHOSTname/logs/%Y-%m-%d-errors.log"


Somit hast du dann ein Verzeichnis des jeweiligen VHOST, worin du die LOGs einsehen kannst.


Willst du aber die LOGfiles auch dem User (kunde/kumpel) zur Verfügung stellen dann sollte es besser so aussehen


LogFormat "%V %h %l %u %t \"%r\" %s %b"
TransferLog "|C:/HTTP-Server/Cronolog/cronolog.exe
%{SERVER_NAME}/logs/%Y-%m-%d-access.log"
ErrorLog "|C:/HTTP-Server/Cronolog/cronolog.exe
%{SERVER_NAME}/logs/%Y-%m-%d-errors.log"


Bitte dazu bei cornolog.org nachschauen ob er diese PATHvariable benutzen kann. ansonsten müsstest du immer eine absolute Pathfolge eintragen, was dich aber in deinem mod_rewrite wieder einschränkt.


PS: alles theorie, weil nicht gegengetestet
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Dj_GL » 09. May 2005 11:32

Erstmal danke für die Antwort ...

... daher meine unsichere Frage---> was kann dieses Teil, was das Apache Logfile nicht beinhaltet ausser das mit diesem externen Programm (speicherfresser) jeden Tag ein neues LOGfile erstellt wird.


Es geht nur darum das jeden Tag und zwar um Punkt 12 Uhr Mitternacht ein neues Logfile erstellt wird.
Da meine Logfiles nach einer Woche gern mal einige MB Größe haben ist das zum öffnen und durchsuchen nicht mehr sehr ideal.
Speicherfresser würd ich nicht unbedingt sagen ... cronolog braucht bei mir gerade mal 1,5 MB Speicher im RAM .. das fällt nicht sehr ins Gewicht auf meinem Server

Aber Cronolog ist jetzt eigentlich auch nicht das Problem ... ich könnts auch ohne machen ...

Das %{SERVER_NAME} auch hier zur Verfügung steht wusste ich nicht .. ich werds testen ..

Auf jeden Fall Danke :)
User avatar
Dj_GL
 
Posts: 41
Joined: 07. June 2003 23:57

Postby Dj_GL » 09. May 2005 11:42

Also ich muss Dich enttäuschen ... weder

Code: Select all
TransferLog logs/access-%{SERVER_NAME}.log


noch

Code: Select all
TransferLog "|C:/HTTP-Server/Cronolog/cronolog.exe
C:/HTTP-Server/Apache2/logs/%Y-%m-%d-%{SERVER_NAME}-access.log"


funktioniert.

Andere Vorschläge?
User avatar
Dj_GL
 
Posts: 41
Joined: 07. June 2003 23:57


Return to Apache

Who is online

Users browsing this forum: No registered users and 29 guests