2012-07-23 13 views
9

Las funciones de registro de Python le permiten pasarles múltiples argumentos que pueden interpolar para usted. Por lo que tiene una elección:¿Por qué utilizar múltiples argumentos para registrar en lugar de interpolación?

logger.info("Something %s this way comes!" % "wicked") 

o

logger.info("Something %s this way comes!", "wicked") 

Pero ¿por qué elegir uno sobre el otro? ¿Es simplemente una cuestión de permitir que ocurran errores en el registrador en lugar de en el programa que se está registrando, o hay algo más en él?

Respuesta

11

Es una cuestión de ejecución:

  • Al hacer la interpolación en el código, el código se ejecutará cada vez que llame al registrador (evento si el registrador o el nivel de registro no se activa)
  • Cuando deja que el registrador haga la interpolación, solo hará la interpolación si el registrador y el nivel de registro están activados.
Cuestiones relacionadas