2017-08-29 2 views
0

Je veux imprimer une chaîne contient « {} » et je me sers du nouvel enregistreur api torsadés maintenant: http://twistedmatrix.com/documents/current/core/howto/logger.htmlTwisted nouveau logger api imprimer les accolades littérales?

Mais je trouve que la nouvelle api ne peut pas imprimer chaîne comme ceci:

from twisted.logger import Logger, STDLibLogObserver, globalLogPublisher 
import logging 

log = Logger() 
logging.basicConfig(level=logging.DEBUG) 

globalLogPublisher.addObserver(STDLibLogObserver()) 
a_str = "env={}".format({}) 
log.info(a_str) 

Répondre

0

vous pouvez le faire en échapper aux accolades avec plus accolades:

a_str = "env={{}}" 

Notez que si vous attendiez a_str = "env={{}}".format({}) à égaler cette chaîne, il ne fonctionne pas. Lisez les règles de quotation/d'échappement utilisées par format. Toutefois, vous devez enregistrer les événements structurés à la place. Essayez ceci avec votre configuration, à la place:

log.info(format="env={env}", env={})