创建filehandler的时候指定编码为utf-8

handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8')  # 实例化handler
2018-01-18 10:52:44,281 - INFO - ���������һ��
2018-01-18 10:52:44,281 - DEBUG - first debug message
2018-01-18 10:53:42,002 - INFO - ���������һ��
2018-01-18 10:53:42,003 - DEBUG - first debug message
2018-01-18 10:54:54,226 - INFO - ���������һ��
2018-01-18 10:54:54,226 - DEBUG - first debug message
2018-01-18 10:58:10,126 - INFO - 输出中文试一试
2018-01-18 10:58:10,126 - DEBUG - first debug message
2018-01-18 11:28:33,672 - INFO - 输出中文试一试
2018-01-18 11:28:33,672 - DEBUG - first debug message

python3中使用logging模块写日志,中文乱码,如何解决?
https://segmentfault.com/q/1010000010567904/

logging.handlers — Logging handlers
https://docs.python.org/3.6/library/logging.handlers.html

创建filehandler的时候指定编码为utf-8handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8') # 实例化handler2018-01-18 10:52:44,281 - INFO - ������� logger = logging.getLogger() fh = logging.FileHandler("test.log") formatter = logging.Formatter("%(asctime)s - %(name)s-%(levelname)s %(message)s") fh.setFormatter(formatter) logger.addHandler(fh)
Python-logging报错解决: UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘xxxx’ in position: illegal 这是logging设置未指定编码方式为utf-8引起的,添加handler可以解决。这里以输出到文本文件为例 #需要使用list handler = [logging.FileHandler(filename=fileName,encoding="utf-8")] 再添加到basicConfig
3.后来想想把log日志用GBK编码读出来,写到新文件,用utf-8编码,解决了问题。 以上这篇解决python 读取 log日志的编码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:Python常用模块logging——日志输出功能(示例代码)Python实现从log日志提取ip的方法【正则提取】Python用于计算对数的log()方法py
在开发APP过程经常会打印出网络获取的数据,但这时你会发现打印出来的log是Unicode格式: {"state":{"code":10200,"msg":"\u83b7\u53d6\u6210\u529f"},"data":{}}看不出是什么中文内容,希望下面方法可以帮助大家解决问题。 下面方法在处理时会影响小小性能,见意控制使用! public static String uni
相信很多有强迫症的同学,看到这些很不爽,我也是,接下来我就来说一下解决方案。 二、乱码原因 产生乱码的根本原因就是编码和解码不一致,举个例子就是翻译的人与写文章的人用的不同的语言,我本来写的是中文拼音,结果你去用英语翻译,肯定翻译出来的东西看不懂。 比较常见的编码格式有Unicode、Ascll
Python logging模块是一个强大的日志记录工具,它可以帮助我们记录和输出各种级别的日志信息。以下是使用Python logging模块的步骤: 1. 导入logging模块 ```python import logging 2. 创建一个logger对象 ```python logger = logging.getLogger('mylogger') 3. 设置logger的级别 ```python logger.setLevel(logging.DEBUG) 4. 创建一个文件处理器 ```python fh = logging.FileHandler('mylog.log') 5. 设置文件处理器的级别 ```python fh.setLevel(logging.DEBUG) 6. 创建一个控制台处理器 ```python ch = logging.StreamHandler() 7. 设置控制台处理器的级别 ```python ch.setLevel(logging.DEBUG) 8. 创建一个日志格式化器 ```python formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 9. 将日志格式化器添加到文件处理器和控制台处理器 ```python fh.setFormatter(formatter) ch.setFormatter(formatter) 10. 将文件处理器和控制台处理器添加到logger ```python logger.addHandler(fh) logger.addHandler(ch) 11. 记录日志信息 ```python logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') 以上就是使用Python logging模块的步骤,通过这些步骤我们可以方便地记录和输出各种级别的日志信息。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 97795