浏览 8733 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-25
最后修改:2011-02-25
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有帮助! 如果有其他的解决办法或建议,也请分享下 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |