python日志记录,打开记事本无法理解的内容

时间:2018-03-20 02:37:31

标签: python logging

我用以下代码记录日志,里面有英文,日文和中文。“aaa”是英文。“くれ対応​​”是日文。“我啊”是中文。

import logging
import datetime
import os

logger = logging.getLogger()
now_date = datetime.datetime.now().strftime('%Y%m%d')
log_file = now_date+".log"
if not os.path.exists("log"):
    os.makedirs("log")
formatter = logging.Formatter('%(asctime)s %(levelname)s line:%(lineno)s %(message)s')
file_handler = logging.FileHandler("log"+os.sep+log_file)
file_handler.setFormatter(formatter) 
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
logger.error('aaaくれ対応我啊'.encode('utf-8'))

当我打开记事本时,内容是这样的:

2018-03-20 10:28:46,451 ERROR line:2161 b'aaa\xe3\x81\x8f\xe3\x82\x8c\xe5\xaf\xbe\xe5\xbf\x9c\xe6\x88\x91\xe5\x95\x8a'

我无法理解b'aaa \ xe3 \ x81 \ x8f \ xe3 \ x82 \ x8c \ xe5 \ xaf \ xbe \ xe5 \ xbf \ x9c \ xe6 \ x88 \ x91 \ xe5 \ x95 \ x8a'。 打开记事本时,如何将其变成原始的中文和日文?

1 个答案:

答案 0 :(得分:1)

您只需要在文件处理程序中配置编码,而不是自己编码

file_handler = logging.FileHandler("log"+os.sep+log_file,'w', 'utf-8')

删除最后一行的编码

logger.error('aaaくれ対応我啊')