# -*- coding: utf-8 -*-
import logging.handlers
LOG_FILE = r'tst.log'
handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8') # 实例化handler
fmt = '%(asctime)s - %(levelname)s - %(message)s'
formatter = logging.Formatter(fmt) # 实例化formatter
handler.setFormatter(formatter) # 为handler添加formatter
logger = logging.getLogger('tst') # 获取名为tst的logger
logger.addHandler(handler) # 为logger添加handler
logger.setLevel(logging.DEBUG)
logger.info(u'输出中文试一试')
logger.debug('first debug message')
注意在 logging.handlers.RotatingFileHandler 此处要设置 encoding 格式,否则输出日志中的中文会乱码
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
参考资料:
1、Python日志输出——logging模块
http://blog.youkuaiyun.com/chosen0ne/article/details/7319306
本文详细介绍了Python中logging模块的使用方法,包括如何配置日志级别、格式化输出及实现日志文件的滚动保存等功能。特别关注了在使用RotatingFileHandler时如何正确设置编码以避免中文乱码的问题。
1816

被折叠的 条评论
为什么被折叠?



