问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用tornado的日志文件输出

发布网友 发布时间:2022-04-30 08:16

我来回答

1个回答

热心网友 时间:2022-04-18 14:46

1. tornado logging使用的python内置的logging模块
2. 在tornado/options.py 中定义了对logging配置项的一些定义(如果需要添加启动参数,需要在对应的代码中导入options模块),以下是一些在options.py中定义的Option
-help
-logging = info|warning|error|none
-log_to_stderr = True|False
-log_file_prefix = your path
-log_file_max_size = int
-log_file_num_backups = int
3. 我们可以通过添加一启动项-log_file_prefix=your complete log path,将整个webapp相关的日志文件写入到指定文件中(同时需要添加如下代码):
from tornado.options import define, options
tornado.options.parse_command_line()
4. 然后通过类似启动命令:python helloworld.py -log_file_prefix=your ** path
由于tornado优良的可扩展性,我们可以同时启动多个tornado server进程,这里我们提出这种需求场景,如何记录各个端口的server日志?
相关代码:
import logging
import tornado.httpserver
import tornado.ioloop
import tornado.web
from tornado.options import define, options
define("port", default=8083, help="Run server on a specific port", type=int)
class MainHandler(tornado.web.RequestHandler):
def get(self):
logging.info("**Request to MainHandler!")
self.write("Hello to the Tornado world!")
settings = {
"debug": True,
}
application = tornado.web.Application([
(r"/", MainHandler),
], **settings)
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
'''
Get the option(s) from the startup command line if ever.
In this tutorial, we define own "port" option to change the
port via the command line, and then we can run multiple tornado
processes at different ports.
'''
tornado.options.parse_command_line()
# This line should be after the parse_command_line()
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
1. 这里我们自定义一个可根据启动参数来修改的监听端口。
2. 通过-log_file_prefix选项,我们可以将输出日志文件与端口号绑定,用于区分,相关的启动命令类似:
python helloworld.py -port=8091 -log_file_prefix=your complete path/test_log@8091.log
python helloworld.py -port=8092 -log_file_prefix=your complete path/test_log@8092.log
通过以上方式,我们就可以记录多个端口的相关日志
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...另有一盒质量不足,轻一些。至少称几次能保证找出这盒月饼... 9盒月饼中,有一盒质量不足,至少称()次能保证找出这盒月饼 A,2 B,3... 有244盒饼干其中有一盒饼干质量不足这一核轻一些至少称几次才能保证找出... 怎么处理梭子蟹更干净? 有什么学生去西藏穷游的打卡线路分享? 小米13手机系统导航方式哪种好用 哪些公交路线可以到犀浦车管所? 19世纪末,中国面临深重的民族危机。为了挽 救民族危亡,中国人民进行... 为什么我一听伤心的歌情绪很低落。听快节奏的歌就想跳。可是室友们没... 为什么我总是听着伤心的歌就低落 怎么用 tornado 的 asynchttpclient 异步上传文件 男明星照片 tornado框架,页面怎么往后端传数据 求那些长着吸血鬼般眼神的外国男星要照片跟他们的名字 照片上是哪个男明星? 这个照片的男明星叫啥 PHP如何判断访客浏览器类型 请问这张照片是哪个男明星? 人力资源回报指数怎么计算 这是哪位男明星的照片 梦见厨房好多老鼠我特别害怕,同时发现厨房大变样 梦见老鼠在厨房乱蹦 公司按了sinfor ingress 我笔记本 不在公司上网会被监视吗 我们公司也装了sinfor ingress 这个监控软件,要在每个人电脑里先装上才能被监控 盘点美国大片大全好莱坞电影大全好看的美国科幻大片,【在线观看】免费百度云资源 如何"跳过" ingress.exe 上网 跪求2021上映的美国电影大片,【在线观看】免费百度云资源 高分!关于上网Sinfor Ingress 花呗逾期半年了,现在还了,但是现在被冻结了,用不了,什么时候才可以恢复? 在公司怎样突破深信服(sinfor ingress)对上网的限制? 马来西亚一50岁富婆示爱27岁男助理,女儿却表示崩溃,对此你怎么看? python哪些web框架适合用来做大文件上传服务 华为手机hicar怎么卸载贴吧 求照片是哪个韩国男明星? tornado启动失败有关问题,求教各位大能 如何将tornado中的信息传入vue.js文件中 python tornado中是否能实现在web上生成excel并下载功能? 如何理解tornado Tornado与flask的特点和区别有哪些 tornado怎么让数据发回过来的地址 屋顶天窗用玻璃还是亚克力好 谁在win7上直接用过tornado2.2 用502粘的锅盖能用吗 会不会有毒 上海华夏信财接入央行征信了吗? 想用tornado实现api,怎么处理目录 电压力锅锅盖锁的那个地方摔坏了,可以用热熔胶粘上吗?会有事吗? python tornado 进行大量sql写入操作 导致其他请求全部阻塞 是我方法... tornado怎么得到URL 劳动合同续签和顺延的区别? 怎么关闭或停止IIS命令