By default does nginx just keep appending to the same log file? (for both access and error log files) Is there a reason why there is no built in way of having it create a new file per day/hour or something? I guess the idea is to keep the feature set very lean?
on 2012-12-14 21:01
on 2012-12-14 21:21
On Fri, Dec 14, 2012 at 03:00:53PM -0500, S Ahmed wrote: Hi there, > By default does nginx just keep appending to the same log file? (for both > access and error log files) Yes. (Although the access log file name can include per-request variables.) > Is there a reason why there is no built in way of having it create a new > file per day/hour or something? I guess the idea is to keep the feature > set very lean? Would you like it per day or per hour? Or every 4 MB, or every 1 million lines? (Or every second Tuesday unless the moon is full?) There are too many possibly-useful rules for anything built-in to satisfy everybody. So nginx allows you to choose whatever combination of circumstances you want, outside of nginx, and then provides a well-defined way for you to induce a log file rotation. http://nginx.org/en/docs/control.html#logs That's my understanding, anyway. f -- Francis Daly firstname.lastname@example.org
on 2012-12-14 22:11
only on a full moon, excluding leap years. thank you and when can I expect this feature? :)
on 2012-12-14 22:43
Nginx doesn't include periodic log rotation functionality, the only thing included is reopening the log files on USR1 signal, so one may rename the current log file and then kill -USR1 `cat /var/run/nginx.pid` for nginx to create a new log (see http://wiki.nginx.org/LogRotation ). External tools may be used to do the actual period rotation, like in Linuxish world it's normally done by logrotate ( http://manpages.ubuntu.com/manpages/lucid/man8/log... ) - in recent Ubuntu versions it's already set up to rotate default nginx log files. 2012/12/14 S Ahmed <email@example.com>
on 2012-12-14 23:11
m irya, Thanks. I'm planning to run 12.04 ubuntu. What exactly does 're-opening' of a log file mean? Isn't it already open, meaning nginx has it open and is appending to it? So step by step, what is to be done? 1. kill -USR1 2. rename file? 3. kill -USR1 'cat /var/run/nginx.pid' 4. profit ?
on 2012-12-15 10:45
On Dec 15, 2012, at 2:10 , S Ahmed wrote: > 3. kill -USR1 'cat /var/run/nginx.pid' > 4. profit 1. rename file 2. kill -USR1 'cat /var/run/nginx.pid' 3. sleep 2 4. do everything with the file: gzipping, moving to other host, etc.
on 2012-12-15 19:20
I see, thanks. So there is there a small window of time when the logs will not be written or lost?
on 2012-12-15 21:32
No, logs are always written either in renamed old file or created newly by master process. There is window between sending signal and reopening new files by worker processes. -- Igor Sysoev http://nginx.com/support.html