Делаем эквивалент log_struct в python logger - PullRequest
0 голосов
/ 13 ноября 2018

В примере Google это дает следующее:

logger.log_struct({
    'message': 'My second entry',
    'weather': 'partly cloudy',
})

Как бы я сделал аналог в регистраторе Python. Например:

import logging
log.info(
    msg='My second entry', 
    extra = {'weather': "partly cloudy"}
)

Когда я просматриваю это в стекдрайвере, дополнительные поля не анализируются должным образом:

2018-11-12 15:41:12.366 PST
My second entry

Expand all | Collapse all 

{
 insertId:  "1de1tqqft3x3ri"  
 jsonPayload: {
  message:  "My second entry"   
  python_logger:  "Xhdoo8x"   
 }
 logName:  "projects/Xhdoo8x/logs/python"  
 receiveTimestamp:  "2018-11-12T23:41:12.366883466Z"  
 resource: {…}  
 severity:  "INFO"  
 timestamp:  "2018-11-12T23:41:12.366883466Z"  
}

Как бы я это сделал?

Самое близкое, что я могу сделать сейчас:

log.handlers[-1].client.logger('').log_struct("...")

Но для этого все еще требуется второй звонок ...

1 Ответ

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