美文网首页
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