pythonjson实例_Python json.encoder方法代码示例

# 需要导入模块: import json [as 别名]

# 或者: from json import encoder [as 别名]

def format_message(self, msg, kwargs, highlight, level):

if getattr(self, 'log_json', False):

message = dict()

message['event'] = '{}.{}'.format(

self.name, msg.lower().replace(' ', '_'))

message['level'] = logging.getLevelName(level)

try:

message.update(kwargs)

try:

msg = json.dumps(message, cls=_LogJSONEncoder)

except TypeError:

# Invalid value. With our custom encoder this can only happen with non-string

# dict keys (see: https://bugs.python.org/issue18820).

message = _stringify_dict_keys(message)

msg = json.dumps(message, cls=_LogJSONEncoder)

except UnicodeDecodeError:

message.update({

k: v if is_numeric(v) or isinstance(v, (float, complex)) else repr(v)

for k, v in kwargs.items()

})

msg = json.dumps(message, cls=_LogJSONEncoder)

else:

msg = "{}{} {}{}".format(

bcolors.WARNING if highlight else "",

msg,

" ".join("{}={!s}".format(k, v) for k, v in kwargs.items()),

bcolors.ENDC if highlight else ""

)

return msg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值