如何编码日志文件?

时间:2014-01-28 10:08:02

标签: python logging python-3.x encoding

我的代码:

logging.warning('FASE VALIDACIÓN TITULOS DE COLUMNAS DE DATOS NO SUPERADA. compruebe los nombres de los títulos de las columnas en datos.csv)')

.log文件中的输出:

WARNING:root:FASE VALIDACI�N TITULOS DE COLUMNAS DE DATOS NO SUPERADA. compruebe los nombres de los t�tulos de las columnas en datos.csv)

然后我尝试了这个:

logging.basicConfig(filename=nombreFicheroLog, encoding="utf-8", level=logging.DEBUG)

但它不起作用。然后我尝试了这个:

logging.warning(u'FASE VALIDACIÓN TITULOS DE COLUMNAS DE DATOS NO SUPERADA. compruebe los nombres de los títulos de las columnas en datos.csv)')

但输出是一样的。

如何编码.log文件以支持UTF-8?

P.S。我正在使用Python3。

1 个答案:

答案 0 :(得分:15)

basicConfig不会使用encoding参数,但在Python 3.3中,您可以这样做:

logging.basicConfig(handlers=[logging.FileHandler(nombreFicheroLog, 'w', 'utf-8')], 
                    level=logging.DEBUG)

对于较旧的蟒蛇,请参阅this question