On Nov 29, 2010, at 9:51 AM, Carl Nobile wrote:

Thanks for the quick response.

> You need to initialize logging in the WSGI hook file, because the
> settings are lazily loaded. In other words you could start logging
> before the logger got instantiated.

Hmmm, but I want the settings to be in my settings module to be forward 
compatible with Django 1.3.  That means I have to be initializing *after* the 
settings are loaded.  Django 1.3 does this in the Settings() class __init__.  
I'm not clear on when the user switch is made, but, if the Django 1.3 approach 
works, the actual Settings() class must be instantiated after the user switch.

> I usually write a separate module with my logging code in it and call
> it in the WSGI hook file. I also found that using the logging config
> file mechanism didn't work correctly, so dynamically set up logging.

See above.  The whole idea is to be Django 1.3 compatible by just removing my 
hand-initialization of logging and letting Django's Settings() init do it.

> Also don't put the logs in the /var/log path as root or adm are usually the 
> only users that can write to it.

I temporarily changed the permissions to let www-data write to it; the problem 
is that the file is created as root if I initialize the logging in settings.py. 
 

I'm not sure at what point the "current user" is switched to www-data so that 
creating the log will happen as that user.

> In production we use an NFS mount for all logs and in testing I put the logs 
> in the Django
> project environment. If you are using daemon mode with mod_wsgi the logs will 
> be written out with that user so your files need to all be set to that user 
> also.

The www-data user is trying to write the logs, but they've been created by root 
and are not writable.

So, is there a safe place to initialize logging after the user switch has been 
made?

I'll move the log files to someplace outside /var/log that's owned by the right 
user, too, but I've got to get them created *after* settings are loaded and 
*after* the user switch is done.

Thanks!

S



-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to