Apache - filter urls into separate log files
With apache, is it possible to filter out log requests into separate files based on the URL?
So for example:
127.0.0.1 - - [08/Apr/2013:17:06:26 +0100] "GET /this/is/a/url.html HTTP/1.1" 200 67486
Log this specific URL into access_log_first and everything else into another log file?
I did a little research and it seems I could use something like SetEnvIf
but not sure how to got about setting it up. Could anyone help out?
I realise this is somewhat a strange requirement and under normal circumstances I would run the URL I need logging on a separate subdomain for example.
Yes, SetEnvIf
is the right way. Here's an example:
SetEnvIf Request_URI /this/is/a/url.html$ thisurllog
CustomLog thisurl.log common env=thisurllog
If you also want to remove those entries from the regular log, add the following:
CustomLog access.log common env=!thisurllog