Aquí es lo que estoy haciendoPython: Inicio de sesión TypeError: no todos los argumentos convertidos en formato de cadenas
>>> import logging
>>> logging.getLogger().setLevel(logging.INFO)
>>> from datetime import date
>>> date = date.today()
>>> logging.info('date={}', date)
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 846, in emit
msg = self.format(record)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 723, in format
return fmt.format(record)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 464, in format
record.message = record.getMessage()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 328, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Logged from file <stdin>, line 1
>>>
Mi versión Python es
$ python --version
Python 2.7.3
¿Cómo hacer que funcione?
¿Conoce que al hacer el formateo de ti mismo, de que pierda la ventaja de la velocidad ofrecida al permitir que el módulo de registro hacemos por ti * sólo cuando el mensaje es realmente registrado *. En otras palabras, si usa el controlador 'debug()' pero el nivel de registro excluye el nivel DEBUG, no incurre en la penalización de la operación de formateo de cadenas. La diferencia de velocidad puede ser significativa si tiene muchos mensajes de depuración. –