2011-06-12 27 views

Respuesta

46
logging.Formatter.converter = time.gmtime 

(documentado en la cadena de documentación de logging.Formatter.formatTime)

+2

Y ahora también he actualizado la documentación oficial de HTML, debería aparecer pronto para 3.2 y 3.3, y en unos pocos días para 2.7. –

+2

Descrito [aquí] (http://docs.python.org/2/library/logging.html#logging.Formatter). Si desea adjuntar formateador a un controlador, primero debe crear un formateador con ** formateador = registrar.Formatter (fmt) **, luego haga ** formateador.convertidor = tiempo.gmiempo **, luego ** myHandler. setFormatter (formateador) ** –

+1

@VinaySajip ¿Cómo configurarlo en un registro dictConfig? Uso Django que usa un logging.dictConfig para configurar la parte de registro. Gracias – Michael

5

sólo la creación de logging.Formatter.converter = time.gmtime es ineficaz para mí en Python 2.5.

así que creé una clase hija con ella establece, y el uso que en lugar de logging.Formatter:

class UTCFormatter(logging.Formatter): 
    converter = time.gmtime 
+0

(Me funcionó en 2.5, en caso de que ayude a alguien.) –

+0

Funcionó para mí en Python 2.7. Se agregó una edición sugerida que muestra la sintaxis de YAML para la creación de instancias, ya que es un poco complicado. (No es necesario un método '__init __()', como sugirió mi primera edición). – evadeflow

0

he tenido problemas con estas dos respuestas. Así que acabo de cambiar la zona horaria global para toda la secuencia de comandos:

+10

Tenga cuidado ya que Londres no está en horario GMT en el verano. –

+0

Encontré esta fue la respuesta que funcionó, utilizando Python 2.7 en Linux. Vale la pena verificar usando el comando tzselect de Linux, que lo que especifique es una zona horaria válida en su sistema, y ​​probar fuera de Python con el comando 'fecha'. Django parece manejar esto bien para su configuración, pero estoy obteniendo la zona horaria equivocada cuando hago el registro de Python desde scripts que no son de Django Python. – RichVel

+1

¡Esto es incorrecto! La zona horaria en Londres no garantiza que sea UTC para siempre. – Federico

Cuestiones relacionadas