У меня есть очень хороший вопрос, который я бы хотел, чтобы эксперт прокомментировал это для меня, пожалуйста. (возможно, Грэм Дамплтон)Какое разрешение/пользователь использует apache2 для записи журналов django
Итак, у меня есть веб-приложение Django (разработанное на ubuntu 16.04), которое регистрирует некоторые сбои, как показано ниже на /var/log/apache2/APPNAME.log.
Поскольку все файлы в/var/log/apache2 имеют root: adm owner, я предоставил право владения моим файлом журнала таким же образом, и я убедился, что www-data является членом группы adm. Затем я предоставил rwx группе adm для группы владельцев, и я тестировал, что все работает нормально.
После 24 часов разрешение файла и родительской папки изменилось, и я вижу, что разрешение на запись было отозвано из файла журнала, а родительский каталог, вызвавший разрешение, отклонил ошибку в ошибке, поскольку файл журнала не мог быть записан ,
Вот мои вопросы, если вы могли бы любезно помочь:
1), где это правильное место, чтобы поместить Джанго лог-файлы?
2) Какой процесс под каким правом пользователя записывает файл?
3) Какой процесс сбрасывает разрешения в/var/log/apache и почему?
Спасибо много заранее,
Я надеюсь, что этот вопрос тоже помочь другим.
Приветствия, Майк
views.pyfrom django.shortcuts import render
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django import forms
from django.core.mail import send_mail, EmailMessage
from StudioHanel.forms import ContactForm
import traceback
import time
# import the logging library
import logging
import sys
# Get an instance of a logger
#logger = logging.getLogger('APPNAME')
def contact(request):
logger.debug('Contact Start!')
if request.method == 'POST':
etc...
settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'applogfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join('/var/log/apache2', 'APPNAME.log'),
'maxBytes': 1024*1024*15, 15MB
'backupCount': 10,
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'APPNAME': {
'handlers': ['applogfile',],
'level': 'DEBUG',
},
}
}
Что вы ищете? –
Ubuntu 16.04 - это операционная система. Веб-сервер - apache 2.4.18. Djagno 1.7. И, пожалуйста, оцените вопрос, считаете ли вы, что это может помочь другим. веселит. –