Apache CustomLog létrehozása

Apache CustomLog létrehozása
2019-07-03T11:23:55+02:00
2019-07-04T14:21:45+02:00
2022-11-12T09:10:38+01:00
gamb1t9
Üdv.



A Debianon (4.9) létezik egy Apache (2.4.25), mindenféle virtualhost, bonyolítás nélkül a /var/www/html-be helyezett dokumentumokkal tud szolgálni bejövő kérés esetén. Localhoston elérek mindent, az access.logot szépen irkálja. Puszta gyakorlás képpen szeretnék csinálni egy másik logot, amiben az általam meghatározott tartalmú logbejegyzések kerülnének. 

A kutatásom alapján erre alkalmas lenne a SetEnvIf és CustomLog direktívák, persze a LogFormat is. 

Az apache2.conf tartalmából (minden default amúgy):

LogFormat "%h %l %u %t "%r" %0" common
SetEnvIf Request_URI "[a-z]{1,}asdlol" asdlol
CustomLog /var/log/apache2/asd.log common env=asdlol

A logfile létrejön, csak üres marad. Ez a bejegyzés amúgy be van szóra a logformatok közé (ha ez bármit jelent), az összes példánál közvetlenül előtte szerepel egy LogFormat, pedig gondolom elég,  ha a nickname-t megemlítjük. A regurális kifejezésem nagyon gagyi, de a stringre félreérthetetlenül illeszkedik. 

Sajnos a log rekordot az istenért nem tudtam kiimádkozni a hypervből, szóval képként mellékelem. A masikcicaasdlol.jpeg-re vonatkozó kérést szeretnénk megfogni. 

Kérdések:
Az alapértelmezett logok (access, error) milyen LogFormat alapján képződnek? 
Hogyan tudnám megfogni ezt a filenevet?  A képen látható, hogy az általam keresett dolog talán nem a SetEnvIf Request_URI-val lesz megfogható (ez talán a masik.html-t fogja meg?), hanem mintha a SetEnvIf Request_Methoddal, de az valószínűleg csak egy GET/POST/.. -ot ad vissza (%m), nem a fájlnevet. 

(A hivatalos doksikban zseniális módon hasonló példáknál nem ugyanúgy használják a SetEnvIF-et:mod_setenvif - Apache HTTP Server Version 2.4 -nél a SetEnvIf direktíva alatt a regurális kifejezést idézőjelezi, mod_log_config - Apache HTTP Server Version 2.4-nál kb ugyanezt már nem. Én őrültem meg, vagy linuxos config fájlokba ezek a pontatlanságok már nem mindig férnek bele (lehet, hogy itt mindegy, ?? jó lenne tisztázni mert így elég nehéz hibát keresni) )

Hogy csinálná ezt az, aki nálam jobban ért hozzá? A RewriteCond direktíva "THE_REQUEST" -nél megjelenik az általam látott formátum (e.g., "GET /index.html HTTP/1.1"). Próbálkozzak ezzel? 

Köszi
G.
Mutasd a teljes hozzászólást!
Csatolt állomány

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd