Tag Archives: Tornado

自定义tornado日志格式

第一次玩tornado。版本4.x。为了解决日志格式的问题,google了很多,没一个有效的。 tornado日志格式分两块,一块是logging的格式,一块是tornado请求消息格式。 tornado默认的访问日志输出是这样的: WARNING:tornado.access:404 GET / (127.0.0.1) 167.93ms 其中,WARNING:tornado.access:404为logger日志内容,GET / (127.0.0.1) 167.93ms为访问消息。 根据enable_pretty_logging函数,可知tornado默认采用logging的root logger,并且,如果logger没有配置handler,则为其添加一个默认的StreamHandler。 因而,应该为logging root logger预创建Handler,并指定日志格式。 依据tornado文档,输出访问日志的为Application.log_request,如果要自定义访问日志输出,可以继承Application并重写log_request,或者自定义log_request函数,并设置为Application.settings的log_function属性。 当然选择后者。log_function函数的写法,参照原版Application.log_request就行。 最后贴上我的代码供Google到此的朋友参考: import logging import tornado.log # 日志格式 logging.getLogger().setLevel(logging.INFO) formatter = logging.Formatter(fmt=”%(levelname).4s %(asctime)s %(name)s %(message)s”, datefmt=”%Y-%m-%d %H:%M:%S”) handler = logging.StreamHandler() handler.setFormatter(formatter) logging.getLogger().addHandler(handler) … Continue reading

Posted in Uncategorized | Tagged , | Leave a comment