首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Structlog -在unicode字符串中隐藏u‘

Python Structlog -在unicode字符串中隐藏u‘
EN

Stack Overflow用户
提问于 2017-09-01 05:39:18
回答 1查看 156关注 0票数 0

我有一个Python2应用程序,它通过结构日志库记录日志,而下游的日志是使用键/值语法捕获和提取的。但是,当涉及unicode字符串时,提取不起作用-u被放在unicode字符串的前面,这破坏了解析器。

是否可以将KeyValueRenderer配置为排除u‘?

代码语言:javascript
复制
import structlog
structlog.configure(processors=[structlog.processors.KeyValueRenderer()])
l = structlog.get_logger()
l.error('I am ASCII')
l.error(u'I am Unicode')

结果:

代码语言:javascript
复制
event='I am ASCII'
event=u'I am Unicode'

所需:

代码语言:javascript
复制
event='I am ASCII'
event='I am Unicode'

我知道更改Python的Unicode字符串的全局打印行为存在问题-但我只是希望更改structlog打印它们的方法中的行为。

EN

回答 1

Stack Overflow用户

发布于 2017-09-26 23:21:07

这就是structlog.processors.UnicodeEncoder的用途。它接受unicode字符串并将其编码为字节字符串。

一旦使用了Python3,您就希望structlog.processors.UnicodeDecoder阻止b前缀。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45990467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档