首页 新闻 搜索 专区 学院

【python】写了个log模块,通过cmd命令行执行时log中文报错IOError: [Errno 0] Error

0
[待解决问题]

logger.py 为自己写的一个log模块:

import logging
import os,time

from com.jd.ofc.util import functions

#create logger
logger = logging.getLogger("client")

logger.setLevel(logging.INFO)

#create console handler and set level to error
console_handle = logging.StreamHandler()
console_handle.setLevel(logging.INFO)

#create file handler and set level to debug
file_handle = logging.FileHandler(os.path.join(functions.get_appPath(),'log','automationtest_%s.log' % (time.strftime('%Y-%m-%d',time.localtime(time.time())))))
file_handle.setLevel(logging.DEBUG)

#create formatter
formatter = logging.Formatter("[%(asctime)s][%(levelname)s][%(module)s:%(funcName)s:%(lineno)d]%(message)s")
 
#add formatter to ch and fh
console_handle.setFormatter(formatter)
file_handle.setFormatter(formatter)

#add ch and fh to logger
logger.addHandler(console_handle)
logger.addHandler(file_handle)


logger.info('dd中国dd'+str(len('dddd')))
logger.debug('debug')
logger.error('errr ror')

 

在eclipse里面执行一点问题也没有。

通过windows cmd命令行窗口执行时,log带中文的字符时报错了,如下图:

 

log英文字符时,没有问题,只有log中文时出现IOError: [Errno 0] Error的错误,请各位大侠帮忙看看,谢谢了

Eko的主页 Eko | 菜鸟二级 | 园豆:208
提问于:2014-02-11 16:23
< >
分享
所有回答(2)
0

博主问题后来是怎么解决的?

HanQingwu | 园豆:202 (菜鸟二级) | 2018-01-10 13:44
0

要设置窗口字符集:
chcp 65001
set PYTHONIOENCODING=utf-8

liuzhizhiyi | 园豆:202 (菜鸟二级) | 2019-10-31 22:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册