Vhost error_log ignored with passenger

I’m using passenger and seeing that stdout & stderr are going to nginx’s
default error log, rather than what’s specified in the server {
error_log … } directive. Is this a known bug in nginx or passenger?

server {
    listen      8082;
    access_log  logs/ruby-access.log  main;
    error_log   logs/ruby-error.log;  ## nothing in here from ruby's

$std{out,err}!
root /Users/paulm/Code/nginx/public;
location / {
passenger_enabled on;
}
}

Here’s all the code & config; it’s a trivial Sinatra server:

Phusion Passenger from here: http://www.modrails.com/install.html (seems
to install nginx 1.0.10)

(The workaround is to File#reopen in config.ru but I’d like to avoid
this, if possible.)

Many thanks!

Paul

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,223288,223288#msg-223288

I can confirm this.

nginx version: nginx/1.0.12
Phusion Passenger version 3.0.11

In my case, I have error_log defined at all three levels, as described
here:

http://wiki.nginx.org/SeparateErrorLoggingPerVirtualHost

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,223288,223729#msg-223729

When reopening $stderr in “a” (append) mode, the file is not written to.
However, when reopening with “w” (write) mode, things work as expected.

Also, since I have the server error log set to debug, reopening $stderr
also results in other messages being written. For example, info
messages.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,223288,223731#msg-223731

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