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

  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009