SORU
27 Aralık 2012, PERŞEMBE


Yapma Python kaydediciler bütün mesajları ayrıca günlük stdout çıktı

Bir şekilde Python günlüğü logging modül otomatik olarak çıktı stdout kullanarak bir şeyler yapmak için vardırbuna ek olarakgitmesi gereken yere günlüğüne dosya? Örneğin, ek olarak amaçlanan yerlere gitmek için tüm aramaları gibilogger.warning, , * logger.critical*5 ama her zaman stdout kopyalanan olurdum. Bu mesajlar yinelenmemesi için:

mylogger.critical("something failed")
print "something failed"

CEVAP
27 Aralık 2012, PERŞEMBE


Giriş çıkış işleyicileri tarafından işlenir; Ekle logging.StreamHandler() kök için bir logger.

İşte örnek bir akış işleyicisi (10* *varsayılan yerine stdout kullanarak) yapılandırma ve kök logger ekleme:

import logging
import sys

root = logging.getLogger()
root.setLevel(logging.DEBUG)

ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
root.addHandler(ch)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014
  • Yo Mama

    Yo Mama

    18 EYLÜL 2005