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 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.
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 Log Rotation | NGINX ). 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/logrotate.8.html ) - in
recent Ubuntu versions it’s already set up to rotate default nginx log
files.
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 S.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.