Python日志转JSON格式输出到ELK时,中文乱码

2018-11-14  本文已影响0人  晨曦的娃哈哈

前言

常规我们需要把业务日志转成JSON格式输入到ELK中。经常会碰到中文乱码的问题

解决方案
  pip install pythonjsonlogger
import logging
from pythonjsonlogger import jsonlogger
logger = logging.getLogger()
logHandler = logging.StreamHandler()
fmt="%(asctime) %(levelname) %(filename) %(funcName) %(lineno) %(message)"
datefmt="%Y-%m-%dT%H:%M:%SZ%z"
formatter = jsonlogger.JsonFormatter(fmt=fmt, datefmt=datefmt,json_ensure_ascii=False)  ### 指定参数json_ensure_ascii=False
logHandler.setFormatter(formatter)
logger.setLevel("INFO")
logger.addHandler(logHandler)
""" 
在默认情况下,对于非ascii字符生成的是相对应的字符编码,
而非原始字符,需要设置参数json_ensure_ascii=False
""" 
items = json.dumps(test_dict, ensure_ascii=False)  ### ensure_ascii=False
上一篇 下一篇

猜你喜欢

热点阅读