В примере 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("...")
Но для этого все еще требуется второй звонок ...