Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to encode log file?

My code:

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)')

Output in .log file:

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)

Then I tried this:

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

But it does not work. Then I tried this one:

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)')

But the output is the same.

How I can encode the .log file to support UTF-8?

P.S. I'm using Python3.

like image 857
Trimax Avatar asked Jan 28 '14 10:01

Trimax


1 Answers

basicConfig does not take an encoding argument, but in Python 3.3 you can do this instead:

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

For older Pythons, see this question.

like image 188
Janne Karila Avatar answered Oct 12 '22 03:10

Janne Karila