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
|
||||||
|
|
||||||
|
|
||||||
|
`request_id` - это идентификатор корреляции, уникальный идентификатор, который присваивается каждому запросу. Он позволяет провести соответствие между записями в логах и запросами к сервису модели.
|
||||||
|
|
||||||
|
Этот идентификатор представляет из себя строку. Если при запросе к сервису модели в заголовке `X-Request-Id` была передана строка, она используется в качестве идентификатора корреляции запроса. Если при запросе заголовок `X-Request-Id` не передан, идентификатор корреляции генерируется сервисом. В ответе на запрос к сервису модели в заголовке `X-Request-Id` идентификатор корреляции возвращается в любом случае - передан он был в запросе или нет.
|
||||||
|
|
||||||
Для добавления `request_id` в логи достаточно изменить формат на следующий:
|
Для добавления `request_id` в логи достаточно изменить формат на следующий:
|
||||||
|
|
||||||
```
|
```
|
||||||
"[%(asctime)s] %(name)-15.15s [%(levelname)-8.8s] [%(request_id)s] %(message)s"
|
"[%(asctime)s] %(name)-15.15s [%(levelname)-8.8s] [%(request_id)s] %(message)s"
|
||||||
```
|
```
|
||||||
|
|
||||||
Но в таком случае при локальном выполнении кода возникнет ошибка - значение `request_id` устанавливается при обработке запроса в модуле, чего локально не происходит.
|
`request_id` добавляется в запись логов при обработке запроса сервисом модели. Чтобы логирование с `request_id` не приводило к ошибкам при выполнении кода модуля вне сервиса, рекомендуется использовать функцию-фильтр, добавляющую поле `request_id` в объект `LogRecord`, полями которого заполняется строка логов.
|
||||||
|
|
||||||
Чтобы эта ошибка не возникала, рекомендуется использовать функцию-фильтр, добавляющую поле `request_id` в объект `LogRecord`, полями которого заполняется строка логов.
|
|
||||||
|
|
||||||
#### Фильтр напрямую в коде
|
#### Фильтр напрямую в коде
|
||||||
|
|
||||||
|
@ -174,7 +177,7 @@ from logging.config import dictConfig
|
||||||
dictConfig({
|
dictConfig({
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'formatters': {
|
'formatters': {
|
||||||
'validation': {
|
'default_format': {
|
||||||
'format': '[%(asctime)s] %(name)s [%(levelname)s] %(message)s',
|
'format': '[%(asctime)s] %(name)s [%(levelname)s] %(message)s',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -182,7 +185,7 @@ dictConfig({
|
||||||
'default': {
|
'default': {
|
||||||
'class': 'logging.StreamHandler',
|
'class': 'logging.StreamHandler',
|
||||||
'stream': 'ext://sys.stdout',
|
'stream': 'ext://sys.stdout',
|
||||||
'formatter': 'validation',
|
'formatter': 'default_format',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'loggers': {
|
'loggers': {
|
||||||
|
|
Loading…
Reference in a new issue