90a*_*yss 6 python tornado flask
我一直面临着一个问题,即如果API在一段时间内没有被访问30分钟,我的服务器就会抛出500.要检查问题,我需要跟踪所做的每个API请求.我在Flask前面使用Tornado.到目前为止这是我的代码:
import tornado.httpserver
import tornado.ioloop
import tornado.web
from flasky import app
from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web import FallbackHandler
from tornado.log import enable_pretty_logging
enable_pretty_logging()
tr = WSGIContainer(app)
application = tornado.web.Application([
(r".*", FallbackHandler, dict(fallback=tr)),
])
if __name__ == '__main__':
application.listen(5000)
IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
什么是将日志存储到某个文件的最有效方法?
我尝试这样做但它只在进程退出0时才有效:
import sys
import time
timestr = time.strftime("%Y%m%d-%H%M%S")
filename = "C:/Source/logs/" + timestr + ".log"
class Logger(object):
def __init__(self):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
sys.stdout = Logger()
Run Code Online (Sandbox Code Playgroud)
met*_*ter 15
您已经使用了enable_pretty_logging哪个好,如果您注意到文档说您可以传入记录器.什么是记录器?事实证明,Python通过内置logging模块(在文档中也提到)对日志记录操作提供了非常广泛的支持.通常,您需要设置写入某个特定文件的处理程序,您可以执行此操作
handler = logging.FileHandler(log_file_filename)
logger.addHandler(handler)
logger.setLevel(logging.INFO)
logger.info('foo')
Run Code Online (Sandbox Code Playgroud)
这会将所有信息级别条目(或更高)记录到文件中.这些记录器可以由logging.getLogger函数收集,您可以根据龙卷风文档明确选择这些记录器
access_log = logging.getLogger("tornado.access")
app_log = logging.getLogger("tornado.application")
gen_log = logging.getLogger("tornado.general")
Run Code Online (Sandbox Code Playgroud)
只需将处理程序附加到生成要记录到文件的消息的记录器即可.如果是tornado.application生成您想要查看的消息
handler = logging.FileHandler(log_file_filename)
app_log = logging.getLogger("tornado.application")
enable_pretty_logging()
app_log.addHandler(handler)
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用启用此功能的内置龙卷风选项
tornado.options.options['log_file_prefix'].set(log_file_prefix)
tornado.options.parse_command_line()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5596 次 |
| 最近记录: |