Update log docs
This commit is contained in:
parent
5683b7fb5f
commit
015775dfe0
1 changed files with 8 additions and 5 deletions
|
@ -94,15 +94,18 @@ fileConfig("logging.conf")
|
|||
|
||||
### Формат с добавлением request_id
|
||||
|
||||
|
||||
`request_id` - это идентификатор корреляции, уникальный идентификатор, который присваивается каждому запросу. Он позволяет провести соответствие между записями в логах и запросами к сервису модели.
|
||||
|
||||
Этот идентификатор представляет из себя строку. Если при запросе к сервису модели в заголовке `X-Request-Id` была передана строка, она используется в качестве идентификатора корреляции запроса. Если при запросе заголовок `X-Request-Id` не передан, идентификатор корреляции генерируется сервисом. В ответе на запрос к сервису модели в заголовке `X-Request-Id` идентификатор корреляции возвращается в любом случае - передан он был в запросе или нет.
|
||||
|
||||
Для добавления `request_id` в логи достаточно изменить формат на следующий:
|
||||
|
||||
```
|
||||
"[%(asctime)s] %(name)-15.15s [%(levelname)-8.8s] [%(request_id)s] %(message)s"
|
||||
```
|
||||
|
||||
Но в таком случае при локальном выполнении кода возникнет ошибка - значение `request_id` устанавливается при обработке запроса в модуле, чего локально не происходит.
|
||||
|
||||
Чтобы эта ошибка не возникала, рекомендуется использовать функцию-фильтр, добавляющую поле `request_id` в объект `LogRecord`, полями которого заполняется строка логов.
|
||||
`request_id` добавляется в запись логов при обработке запроса сервисом модели. Чтобы логирование с `request_id` не приводило к ошибкам при выполнении кода модуля вне сервиса, рекомендуется использовать функцию-фильтр, добавляющую поле `request_id` в объект `LogRecord`, полями которого заполняется строка логов.
|
||||
|
||||
#### Фильтр напрямую в коде
|
||||
|
||||
|
@ -174,7 +177,7 @@ from logging.config import dictConfig
|
|||
dictConfig({
|
||||
'version': 1,
|
||||
'formatters': {
|
||||
'validation': {
|
||||
'default_format': {
|
||||
'format': '[%(asctime)s] %(name)s [%(levelname)s] %(message)s',
|
||||
}
|
||||
},
|
||||
|
@ -182,7 +185,7 @@ dictConfig({
|
|||
'default': {
|
||||
'class': 'logging.StreamHandler',
|
||||
'stream': 'ext://sys.stdout',
|
||||
'formatter': 'validation',
|
||||
'formatter': 'default_format',
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
|
|
Loading…
Reference in a new issue