我正在编写这样的独立gunicorn应用程序:http://docs.gunicorn.org/en/stable/custom.html?highlight=standalone
我想在logstash中记录gunicorn错误消息。 我的问题:
如何在我的应用程序中获取gunicorn错误(和访问)记录器对象并在其上添加处理程序?
答案 0 :(得分:1)
我想使用我的记录器,所以这个响应是关于替换logger(我自己配置的方法)。如果您只想添加处理程序,则可以向access_log
和error_log
添加处理程序。我需要更换记录器,我已经这样做了:
from gunicorn.glogging import Logger as GLogger
logger = logging.getLogger(__name__)
class GunicornLogger(GLogger):
def setup(self, cfg):
super(GunicornLogger, self).setup(cfg)
self.access_log = logger
self.error_log = logger
在启动应用程序时:
self.options['logger_class'] = '<import_to_this_file>.GunicornLogger'
注意:之后accesslog
和errorlog
配置参数无效,因为我已覆盖原始记录器。正如我所说,如果你想要,你可以注册新的处理程序......
适用于我gunicorn==19.7.1