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'
有什么想法?