Я пытаюсь настроить ведение журнала для приложения django, размещенного в качестве службы App Engine в GAE.
Я успешно настроил ведение журнала, за исключением того, что оно отображается в глобальном журнале длявесь этот проект вместо журнала для этой службы.Я хотел бы, чтобы журналы отображались только в журналах определенных служб
Это моя конфигурация ведения журнала django:
from google.cloud import logging as google_cloud_logging
log_client = google_cloud_logging.Client()
log_client.setup_logging()
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'stackdriver_logging': {
'class': 'google.cloud.logging.handlers.CloudLoggingHandler',
'client': log_client
},
},
'loggers': {
'': {
'handlers': ['stackdriver_logging'],
'level': 'INFO',
}
},
}
И я могу успешно войти в Глобальный журнал проекта с помощьюзвоните так:
def fetch_orders(request):
logger.error('test error')
logger.critical('test critical')
logger.warning('test warning')
logger.info('test info')
return redirect('dashboard')
Я хочу выяснить, могу ли я настроить регистратор так, чтобы он всегда использовал журнал для службы, в которой он работает.
РЕДАКТИРОВАТЬ:
Я попробовал приведенное ниже предложение, однако теперь оно возвращает следующую ошибку:
Traceback (most recent call last):
File "/env/lib/python3.7/site-packages/google/cloud/logging/handlers/transports/background_thread.py", line 122, in _safely_commit_batch
batch.commit()
File "/env/lib/python3.7/site-packages/google/cloud/logging/logger.py", line 381, in commit
entries = [entry.to_api_repr() for entry in self.entries]
File "/env/lib/python3.7/site-packages/google/cloud/logging/logger.py", line 381, in <listcomp>
entries = [entry.to_api_repr() for entry in self.entries]
File "/env/lib/python3.7/site-packages/google/cloud/logging/entries.py", line 318, in to_api_repr
info = super(StructEntry, self).to_api_repr()
File "/env/lib/python3.7/site-packages/google/cloud/logging/entries.py", line 241, in to_api_repr
info["resource"] = self.resource._to_dict()
AttributeError: 'ConvertingDict' object has no attribute '_to_dict'
Я могу переопределить это в исходном коде пакета, чтобы оно заработало, однако среда GAE требует, чтобы яиспользуйте пакет, предоставленный Google, для регистрации в облаке.Есть ли какой-нибудь путь отсюда?