python学习笔记 - logging@tornado学习记录一

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

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


通过以上方式,我们就可以记录多个端口的相关日志,以上代码我使用的是tornado-1.1.1,希望对大家学习tornado有帮助!

如果有其他的解决办法或建议,也请分享下 :)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值