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

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

作者: 晨曦的娃哈哈 | 来源:发表于2018-11-14 20:18 被阅读0次

前言

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

解决方案
  • 方案a: pythonjsonlogger [自动把日志转化json]

    安装方式& 中文乱码解决方法

  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
""" 
  • 方案b: 通过json.dumps() 自己封装
    中文乱码解决方法
items = json.dumps(test_dict, ensure_ascii=False)  ### ensure_ascii=False

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/pjhsfqtx.html