Ho usato il seguente codice per ottenere avvertimenti essere registrato:Come formattare gli avvisi catturati con logging.captureWarnings?
import logging
logging.captureWarnings(True)
formatter = logging.Formatter('%(asctime)s\t%(levelname)s\t%(message)s')
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
Questo funziona, tuttavia, la mia registrazione formattatore non viene applicata, e gli avvertimenti venire fuori cercando in questo modo:
WARNING:py.warnings:/home/joakim/.virtualenvs/masterload/local/lib/python2.7/site-packages/MySQL_python-1.2.3c1-py2.7-linux-x86_64.egg/MySQLdb/cursors.py:100: Warning:
InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
invece del formato previsto:
2012-11-12 18:19:44,421 INFO START updating products
Come posso applicare la mia normale formattazione ai messaggi di avviso acquisiti?