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

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • BlackBoxTV

    BlackBoxTV

    7 Mayıs 2007
  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006