By default does nginx just use a single log file?

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.

http://nginx.org/en/docs/control.html#logs

That’s my understanding, anyway.

f

Francis D. [email protected]

only on a full moon, excluding leap years. thank you and when can I
expect
this feature? :slight_smile:

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.

2012/12/14 S Ahmed [email protected]

On Dec 15, 2012, at 2:10 , S Ahmed wrote:

  1. kill -USR1 ‘cat /var/run/nginx.pid’
  2. 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.

I see, thanks.

So there is there a small window of time when the logs will not be
written
or lost?

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

?

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.