Sending nginx errors to syslog but fuser -u still shows error file open by nginx

I’ve tried putting this directive into the nginx config file in both the
main and html sections:

error_log syslog:server=127.0.0.1,facility=local5 error;

The file tests fine and reloads without issue, however if I do fuser -u
on
the error file (which is the same one used by syslog) I see that every
nginx process has it open. Is there anyway to be sure that errors are
being
written by syslog and not the nginx process itself?

Have you done a full restart (not a reload)? I would imagine the master
process needs to flush everything out.

Yes, I went as far as to stop nginx altogether, manually verify there
are
no nginx processes running, then start it again and it opens the error
log
first thing.

On Wed, Apr 20, 2016 at 9:51 AM, Robert P. <

Hello!

On Wed, Apr 20, 2016 at 09:24:52AM -0400, CJ Ess wrote:

I’ve tried putting this directive into the nginx config file in both the
main and html sections:

error_log syslog:server=127.0.0.1,facility=local5 error;

The file tests fine and reloads without issue, however if I do fuser -u on
the error file (which is the same one used by syslog) I see that every
nginx process has it open. Is there anyway to be sure that errors are being
written by syslog and not the nginx process itself?

At least one file-based error log must be present. In particular,
it is used to redirect STDERR (as in some cases written to by
various libraries), and it is also believed to be useful to log
errors of writing to syslog when they happen. If no file-based
logs are configured, a compiled-in default one will be used.


Maxim D.
http://nginx.org/

Ok, I understand what is happening now, thank you!