Django - File Logging, какой владелец - PullRequest
1 голос
/ 09 декабря 2011

Я работаю на рабочем сервере с WSGI & Apache.
Я настраиваю файл журнала для моего проекта Django, например:

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        #...
        'logfile': {
            'class': 'logging.handlers.WatchedFileHandler',
            'filename': '/var/log/django/my_project.log'
        },
    },
    'loggers': {
        #...
        'django': {
            'handlers': ['logfile'],
            'level': 'ERROR',
            'propagate': False,
        },
    }
}

Как узнать, кому должен принадлежать файл /var/log/django/my_project.log?

1 Ответ

3 голосов
/ 09 декабря 2011

Вы можете запустить процесс WSGI от имени конкретного пользователя, например ::

<VirtualHost *>
    ServerName example.com

    WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
    WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi

    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Идеально для того, кто владеет /var/log/django. (stat /var/log/django --printf=%U)

...