2011-03-16 36 views
6

Uygulamamda python günlük kaydını uyguluyorum ve "varsayılan" kök ayarlarını kullanabilmek istiyorum. Kök ayarlarını kullanmak istiyorum çünkü bir config dosyasında modül başına bir logger tanımlamak istemiyorum.Belirli bir paket için günlüğe kaydetme devre dışı bırakma

Kök kaydedici için DEBUG düzeyini günlüğe kaydetmeyi açtığımda, QPID Python İstemci API'sı ile bir sorunla karşılaşıyorum. Benim günlük dosyaları qpid ayıklama ifadelerle sular altında olsun:

2011-03-16 09: 16: 18.664 - qpid.messaging.io.ops - DEBUG - [8de6b2c] GÖNDERİLEN: ..

2011- 03-16 09: 16: 18,667 - qpid.messaging.io.raw - DEBUG - ..

2011-03-16 09: 16: 18,668 - qpid.messaging.io.raw - DEBUG - READ [8de6b2c] qpid.messaging.io.ops - - DEBUG - 18668 ..

0123: 16: ..

2011-03-

Vb ..

Yani iki soru:

1) modül başına bir logger tanımlamadan * sadece benim modülleri için günlüğü etkinleştirmek için bir yol var mı? Başka bir deyişle, paylaşılan "logger ayarları" yapmanın bir yolu var, bu yüzden logger_logger başına bir logger_ bölüm tanımlamak zorunda kalmadan ayarları varsayılan bir yolu var mı?

şey gibi:

[logger_shared_settings] 
    loggers = logger_A,logger_B,logger_C,logger_D 
    level=DEBUG 

2) Veya Nasıl bir yapılandırma dosyası yoluyla qpid paket günlüğü filtreleyebilirsiniz? İşte

log.conf dosyasıdır: Burada

[loggers] 
keys=root 

[handlers] 
keys=consoleHandler,fileHandler,nullHandler 

[formatters] 
keys=simpleFormatter 

[logger_root] 
level=DEBUG 
handlers=consoleHandler,fileHandler 

[handler_consoleHandler] 
class=StreamHandler 
level=DEBUG 
formatter=simpleFormatter 
args=(sys.stdout,) 

[handler_fileHandler] 
class=logging.handlers.RotatingFileHandler 
level=DEBUG 
formatter=simpleFormatter 
args=('out.log',) 
kaçınmaya çalışıyorum buydu:

Eğer qpid günlükçüsüne NullHandler ayarlayabilirsiniz python2.7 ile
[loggers] 
keys=root, a, b, c, d 

[handlers] 
keys=consoleHandler,fileHandler,nullHandler 

[formatters] 
keys=simpleFormatter 

[logger_root] 
level=ERROR 
handlers=nullHandler 


[logger_a] 
level=DEBUG 
handlers=consoleHandler,fileHandler 


[logger_b] 
level=DEBUG 
handlers=consoleHandler,fileHandler 

[logger_c] 
level=DEBUG 
handlers=consoleHandler,fileHandler 

cevap

3

:

[logger_qpid] 
level=NOTSET 
handlers=nullHandler 
qualname=qpid 
propagate=0 
+0

Bu, jw, paylaşılan kümeyi herhangi bir şekilde biliyor musunuz? İçki budur? – Nix

+0

Hmmm ... "paylaşılan ayarlar" ne anlama geliyor? – oxyum

+0

Kök kaydedici gibi bir şey ama benim uygulamamdaki modülleri uygulayabileceğim farklı bir bölüm. – Nix

İlgili konular