Rotating Access Logs with $date_local
Igal @ getRailo.org
igal at getrailo.org
Tue Oct 28 16:48:32 UTC 2014
Hello Maxim,
> It is possible - you can use construct appropriate variable, e.g.,
> by using map{} and $time_local. (The $date_local won't work for
> you as you won't be able to set format without SSI.)
Thank you for your prompt reply. I do not have much experience with
nginx configuration so I have a follow up question.
I looked up the docs about map{} at
http://nginx.org/en/docs/http/ngx_http_map_module.html and I tried to
follow the example. I see that $time_local is (in my local time)
"28/Oct/2014:09:30:35 -0700" so I want from that the year, month, and
day. as an experimentation, I tried to add the following:
map $time_local $date {
~\w{11} 0;
}
but I get an error that the '{' character is not valid at that
position. so I tried instead
~\w\w\w\w\w\w\w\w\w\w\w 0;
and then nginx starts up but $date is an empty string.
Can you point me in the right direction? and if it's not too
complicated make a suggestion regarding the regex that I would need
since I must break the $time_local to year, month, and day (or do I need
to create 3 map{} variables for that? now that would be inefficient...)
> On the other hand, it's not recommended as it implies unneeded
> work on each request.
With the amount of traffic that I get, and the way that nginx is
handling it, these few added microseconds should not be an issue IMO and
it would be a much easier solution to implement than an external process
that may or may not work properly.
Thanks a lot!
--
Igal Sapir
Railo Core Developer
http://getRailo.org/
More information about the nginx
mailing list