0
我有一個Python2應用程序,它通過結構化日誌庫進行日誌記錄,並在下游使用鍵/值語法捕獲日誌。但是,當涉及unicode字符串時,提取不起作用 - u正被預置爲unicode字符串,從而破壞了解析器。Python結構 - 從Unicode字符串隱藏你'
是否可以配置KeyValueRenderer來排除u'?
import structlog
structlog.configure(processors=[structlog.processors.KeyValueRenderer()])
l = structlog.get_logger()
l.error('I am ASCII')
l.error(u'I am Unicode')
結果:
event='I am ASCII'
event=u'I am Unicode'
期望:
event='I am ASCII'
event='I am Unicode'
我知道有問題,改變Python對Unicode字符串全球印刷行爲 - 但我只是希望去改變用structlog的方法來打印它們。
你想如何顯示帶有非ASCII字符的字符串? –
[在python字符串中抑制u'prefix表示unicode'](https://stackoverflow.com/questions/761361/suppress-the-uprefix-indicating-unicode-in-python-strings) – Mangohero1
看起來很可能這樣做只會以不同的方式破壞解析器,因爲它會重新構造錯誤的字符串。您可能需要考慮改進解析器。 – user2357112