Записать вывод команды Django в журнал ошибок Apache - PullRequest
0 голосов
/ 31 августа 2018

Как я могу получить вывод журнала из моих пользовательских команд Django в журналы Apache?

В settings.py у меня есть регистратор, настроенный на вход в консоль, поскольку я нашел единственный способ заставить приложение Django записывать журналы в журнал Apache. Однако, если я затем использую регистратор приложений в команде Django и запускаю эту команду из командной строки (например, python manage.py my_command), настройка ведения журнала записывает данные в реальную консоль, а не в журнал Apache.

Могу ли я настроить ведение журнала по-другому или даже вызвать команду Django по-другому, чтобы запись журнала команды записывалась в журнал Apache?

settings.py фрагмент журнала:

'handlers' : {
    'console':{ #this logs to the Apache log when called from within the Django app e.g. from within views.py
         'level':'INFO',
         'class':'logging.StreamHandler',
         'formatter':'standard',
    }
}
....
'loggers' : {
    'app_logger': {
        'handlers': ['console'],
        'level':'DEBUG',
    }
}

фрагмент my_command.py:

....
class Command(BaseCommand):
    ....
    def handle(self, *args, **options):
        # do some useful work here
        log = logging.getLogger("app_logger")
        # when called from the command line, this statement is logged back to the console, not the Apache log
        log.info("something happened") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...