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 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/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.
http://nginx.com/support.html

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs