2
我有一個基於ini文件配置的python日誌記錄工作設置。來自fileconfig的Python自定義日誌處理程序
我想創建一個自定義的處理器在登錄到特定的記錄
我能夠從代碼中設置了記錄器和處理程序來實現這一派AWS-SNS通知。像這樣=>http://pantburk.info/?blog=77
但是,如果我嘗試採取從配置文件設置記錄器的方法,它不起作用。我猜Python日誌記錄模塊正試圖尋找python logging.handlers包中的自定義處理程序。我的自定義類是在我的應用程序中。
我的配置文件:
[loggers]
keys=root,sns
[handlers]
keys=consoleHandler,snshandler
[logger_root]
handlers=consoleHandler
level=CRITICAL
[logger_sns]
handlers=snshandler
level=DEBUG
propagate=0
qualname=sns
[handler_snshandler]
class=coco.loggers.sns_handler.SNSHandler
formatter=simpleFormatter
level=DEBUG
[formatter_simpleFormatter]
datefmt=%Y-%m-%d %H:%M:%S
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
[formatters]
keys=simpleFormatter
我的自定義處理程序類:coco.loggers.sns_handler.SNSHandler
import logging
from coco.notifier.sns import SNS
class SNSHandler(logging.Handler):
def __init__(self):
super(SNSHandler, self).__init__()
def emit(self, record):
SNS().queue(message=record.getMessage())
我設立的配置文件記錄是這樣的:
logging.config.fileConfig('/path/to/conf')
我看到這個例外,當我嘗試設置記錄器
AttributeError: 'module' object has no attribute 'loggers'
有什麼想法?