Ведение журнала не распространяется вверх - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть проект django (с использованием сельдерея), и я пытаюсь настроить мою конфигурацию архива регистрации.

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

Я определил следующее, однако я не получаю журналы для internals.tasks.cortex.Я думаю, что я установил регистратор для внутренних устройств, которые должны перехватывать internals.tasks.cortex из-за распространения?Но это не так.Однако он всегда выводится в корневой логгер!

├── internals
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── celery.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   └── __init__.py
│   ├── models.py
│   ├── tasks
│   │   ├── __init__.py
│   │   ├── cortex.py
│   │   ├── setup.py
│   │   └── submission.py
│   └── views.py
├── logs
├── manage.py
└── xplorioc
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

settings.py

# # Logging configuration
LOGLEVEL = os.environ.get('LOGLEVEL', 'DEBUG').upper()
LOGGING_CONFIG = None
CUSTOM_LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'loggers': {
        '': {
            'level': LOGLEVEL,
            'handlers': ['console', 'root'],
        },
        'internals': {
            'level': LOGLEVEL,
            'handlers': ['console', 'internals'],
            'propagate': False
        }
   },
    'formatters': {
        'basic': {
            'format': '%(asctime)s %(name)s / %(levelname)s / %(message)s',
            'datefmt': '%Y/%m/%d %H:%M:%S',
        }
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'basic',
        },
        'root': {
            'level': LOGLEVEL,
            'formatter': 'basic',
            'class': 'logging.handlers.RotatingFileHandler',
            'maxBytes': 1024 * 1024 * 1,
            'backupCount': 0,
            'filename': BASE_DIR + '/logs/root.log',
        },
        'internals': {
            'level': LOGLEVEL,
            'formatter': 'basic',
            'class': 'logging.handlers.RotatingFileHandler',
            'maxBytes': 1024 * 1024 * 1,
            'backupCount': 0,
            'filename': BASE_DIR + '/logs/internals.log',
        }
    }
}
logging.config.dictConfig(CUSTOM_LOGGING)

cortex.py

from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)

def test():
    logger.debug('I only go to the root logger...')

ОБНОВЛЕНИЕ--------

Странно, если я добавлю следующее в cortex.py:

logger = get_task_logger(__name__)

print(logger.name)
print(logger.parent.name)
print(logger.parent.parent.name)

Он напечатает:

internals.tasks.cortex
celery.task
celery
2019/02/07 20:38:11 internals.tasks.cortex / DEBUG / I only go to the root logger...

Итак,вопрос в том, почему путь корня переворачивается от внутренних органов к сельдерею?!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...