2013-11-28 35 views
7

Bir Django projesi için bir Sentry logger kurmak istiyorum. sentry işleyicisini tanımlayacağım ve bu işleyiciyi error düzeyindeki kök günlüğüne koyacağım.Kök kaydedici dictconfig içinde

logging modülün belgelerine göre, orada özel bir root tuşu:

root - Bu kök kaydedicisi için yapılandırma olacaktır. Yapılandırmanın işlenmesi, propagate ayarının uygulanmayacağı dışında herhangi bir kayıt cihazında olduğu gibi olacaktır. adıyla '' ile other yerlerde bir logger aynı zamanda

kök kaydedicisi yapılandırmasını içeren için kullanılır.

Bu, aynı etkiye sahip midir? Tercih nedir?

>>> import logging 
>>> logging.getLogger('') is logging.root 
True 
>>> 

cevap

6

Her iki yol da çalışacaktır, çünkü '' loger '' kök kaydedicidir. root'u belirtmek, çok fazla günlük kaydediciyi yapılandırıyorsanız, ne yaptığınızı daha net bir şekilde açıklar - '' kaydedici yapılandırması, başka bir grupta kaybolabilirken, root anahtarı, loggers anahtarının bitişiğindedir ve (teoride) daha fazla öne çıkmalı.

+1

Bu, giriş ayarlarınızı [settings.LOGGING] (https://docs.djangoproject.com/en/dev/topics/logging/#configuring-logging) özniteliğiyle tanımlarken * doğru * görünmüyor Django 1.7! Görünümler modülümde adlandırılmış bir günlükçüye giriş yapıyorum ve eğer 'LOGGING'imde' '' '' '' '' '' '' '' '' '' '' '' '' '' '' isminde * '' isminde bir logger tanımladıysam günlük kaydı çekilir. Maalesef, Django belgeleri kök logger ile nasıl başa çıkılacağı hakkında hiçbir açıklamada bulunmuyor. –

+4

@hheimbuerger Kaydedicilerde kök adı değil, logger'lara paralel. Daha fazla bilgi için https://docs.python.org/2/library/logging.config.html#dictionary-schema-details adresine bakın. –

İlgili konular