2012-12-13 15 views
18

Python'un logging lib ile ilgili bir sorunum var. Ben bir "logger" oluşturmak aşağıda kod ile:Python günlüğü.DEBUG seviyesi günlüğe kaydedilmiyor

logger = logging.getLogger() 
def logger_init(level): 
    try: 
     syslog = SysLogHandler(address=LOG_DESTINATION) 
    except Exception, ex: 
     return 
    formatter = logging.Formatter('%(module)s[%(process)d]: %(message)s') 
    syslog.setFormatter(formatter) 
    syslog.setLevel(level) 
    logger.addHandler(syslog) 

Ve diyoruz istiyorum:

logger.debug (SOME_STR_TO_BE_LOGGED)

VEYA benzeri:

logger.error (SOME_STR_TO_BE_LOGGED)

Ve onunla birlikte logger başlatmak: Sorun o error olduğunu

log_level = logging.ERROR 
if options.DEBUG_LOG: #### This comes from options parser and it is True. 
    log_level = logging.DEBUG 
logger_init(log_level) 

ve warn çok iyi çalışıyor, ancak ne info ne de debug yöntemleri syslog şey yazdırır.

Syslog-ng kullanıyorum ve filtrimi tasarladım, yani debug - emerg arasındaki her seviyeyi kabul edecektir.

Burada sorun nedir? Herhangi bir fikir?

cevap

21

Ayrıca, yalnızca işleyiciyi değil, kaydedicinin seviyesini de ayarlamanız gerekir.

sizin logger_init ekleyiniz:

logger.setLevel(level) 
İlgili konular