Ведение журнала Django работает только при перезагрузке - PullRequest
0 голосов
/ 14 декабря 2018

Я задавал подобные вопросы раньше, но у меня возникли проблемы с получением дополнительной информации о том, в чем проблема.

У меня есть приложение Django, и оно работает с каналами.Итак, Django, Daphne, Channels, NGINX, Redis

У меня настроено ведение журнала следующим образом:

# Logging
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'propagate': True,
            'level': 'INFO'
        },
        'dashboards': {
            'handlers': ['console'],
            'propagate': False,
            'level': 'DEBUG',
        },
    },
}

Каналы:

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("localhost", 6379)],
        },
        "ROUTING": "app.routing.channel_routing",
    },
}

На мой взгляд:

import logging
loger = logging.getLogger(__name__)

def index(request):
    loger.debug(":dsfasdfasdfasdfasdfasdfasdfasdfasdfasdf")
    return render(request, 'site/index.html', context)

Использование супервизора для управления службой:

[program:Daphne]
environment=PATH="/opt/site/venv/bin"
command=/opt/site/venv/bin/daphne -b 0.0.0.0 -p 8000 site.asgi:channel_layer --proxy-headers -v2
directory=/opt/site/site
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/tmp/daphne.out.log

[program:Worker]
environment=PATH="/opt/site/venv/bin"
command=/opt/site/venv/bin/python manage.py runworker -v2
directory=/opt/site/site
process_name=%(program_name)s_%(process_num)02d
numprocs=10
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/tmp/workers.out.log

Я вижу журналы работника по запросу на странице, а также исключения, попадающие в журнал (/ tmp / worker.out.log).

2018-12-13 21:36:22,396 - DEBUG - worker - Got message on http.request (reply daphne.response.SrXmOkzSNt!bUdAxibnQp)
2018-12-13 21:36:22,396 - DEBUG - runworker - http.request
2018-12-13 21:36:22,397 - DEBUG - worker - Dispatching message on http.request to channels.staticfiles.StaticFilesConsumer

По какой-то причине, когда я обновляю страницу, я никогда не вижу отладку в журналах.Если я перезапускаю рабочих и Дафни, я сразу же вижу, как записи в журнале рабочих появляются (/tmp/workers.out.log).

2018-12-13 21:39:02,678 - INFO - worker - Shutdown signal received while idle, terminating immediately
2018-12-13 21:39:02,679 - INFO - worker - Shutdown signal received while idle, terminating immediately
:dsfasdfasdfasdfasdfasdfasdfasdfasdfasdf
2018-12-13 21:39:02,681 - INFO - worker - Shutdown signal received while idle, terminating immediately
:dsfasdfasdfasdfasdfasdfasdfasdfasdfasdf

Странно то, что у меня есть другое приложение, которое регистрирует толькохорошо, как это.Любые идеи, почему журналы, кажется, передаются и не пишут, пока рабочий Django не будет перезапущен?

...