Nginx not logging to socket

djczaski at gmail.com djczaski at gmail.com
Wed Jun 24 23:05:31 UTC 2015


> On Jun 24, 2015, at 10:45 AM, Vladimir Homutov <vl at nginx.com> wrote:
> 
>> On Wed, Jun 24, 2015 at 10:21:06AM -0400, Danomi Czaski wrote:
>>> On Wed, Jun 24, 2015 at 10:00 AM, Vladimir Homutov <vl at nginx.com> wrote:
>>>> On Wed, Jun 24, 2015 at 08:31:31AM -0400, Danomi Czaski wrote:
>>>>> On Wed, Jun 24, 2015 at 7:03 AM, Vladimir Homutov <vl at nginx.com> wrote:
>>>>>> On Wed, Jun 24, 2015 at 06:12:49AM -0400, Danomi Czaski wrote:
>>>>>> Hello,
>>>>>> 
>>>>>> On Sun, Jun 21, 2015 at 8:19 AM, Andrew Holway
>>>>>> <andrew.holway at otternetworks.de> wrote:
>>>>>>> Hallo!
>>>>>>> 
>>>>>>> Using rsyslog I have set up a logging socket and confirmed that its working
>>>>>>> by piping in some stuff to "logger -u /dev/log"
>>>>>>> nginx/1.8.0 does not seem to be dumping in logs however. The nginx config is
>>>>>>> below..
>>>>>> 
>>>>>> Any luck? I'm seeing the same problem on 1.7.12.
>>>>> 
>>>>> do you see some errors in the local error log? If nginx is unable to
>>>>> send data to socket for some reasons (check socket permissions, selinux
>>>>> and similar), you will see errors in the local log file.
>>>> 
>>>> My config looks like:
>>>> 
>>>>    error_log  syslog:server=unix:/dev/log;
>>>> 
>>>> The only error I see is that nginx can't open /var/log/nginx/error.log.
>>>> 
>>>>    $ nginx -t
>>>>    nginx: [alert] could not open error log file: open()
>>>> "/var/log/nginx/error.log" failed (2: Unknown error)
>>>>    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
>>>>    nginx: configuration file /etc/nginx/nginx.conf test failed
>>>> 
>>>> Of course /var/log/nginx isn't there because I'm trying to use syslog.
>>>> If I create /var/log/nginx, nginx starts and I'll see debugging logs
>>>> there but nothing related to syslog problems.
>>>> 
>>>> The permissions on /dev/log look fine:
>>>> 
>>>>    $ ls -l /dev/log
>>>>    srw-rw-rw-    1 root     root             0 Jun 24 12:41 /dev/log=
>>> 
>>> did you try increasing log level?  If there are no errors, nginx will
>>> not write anything to log in your case.
>>> 
>>> you can add one more error_log directive and point it to some local
>>> file with write permissions to check there for possible errors.
>> 
>> Okay, I see messages going to syslog, I had to increase the log level
>> as you said. Thanks.
>> 
>> It seems like there _must_ be a file logger or nginx won't start. If I
>> don't want any log file it looks like I have to do something like:
>> 
>>    error_log  /dev/null emerg;
>>    error_log  syslog:server=unix:/dev/log debug;
> 
> This is intentionally: syslog is not reliable and nginx by default will
> write logs to files. And there is a simple workaround - you 

Thank you for your help.


More information about the nginx mailing list