`
joy2everyone
  • 浏览: 134550 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

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有帮助!

如果有其他的解决办法或建议,也请分享下




分享到:
评论

相关推荐

    Python库 | python-logging-loki-0.2.0.tar.gz

    python库。 资源全名:python-logging-loki-0.2.0.tar.gz

    commons-logging.jar

    commons-logging-1.0-javadoc.jar, commons-logging-1.0.1-javadoc.jar, commons-logging-1.0.1.jar, commons-logging-1.0.2-javadoc.jar, commons-logging-1.0.2.jar, commons-logging-1.0.3-javadoc.jar, commons-...

    jboss-logging-3.3.2.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.3.2.Final.jar; 赠送原API文档:jboss-logging-3.3.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.3.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.3.2.Final....

    python日志输出----logging浅析与使用.pdf

    python日志输出----logging浅析与使用.pdf

    commons-logging-1.1.3.jar

    common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。...

    python学习笔记-王纯业

    以下是一个Python学习笔记的大纲,涵盖了从基础到进阶的内容。你可以根据自己的学习进度和理解情况,逐步填充和完善这个大纲。 Python学习笔记大纲 一、Python基础 Python简介 Python的历史 Python的特点和应用...

    python 日志输出---logging浅析与使用

    python 日志输出---logging浅析与使用 详细的描述了python 中logging模块的使用方法,有具体的实例介绍,浅显易懂

    jboss-logging-3.4.1.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.1.Final.jar; 赠送原API文档:jboss-logging-3.4.1.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.1.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.1.Final....

    python-logging-loki:Loki的Python日志记录处理程序

    Loki的Python日志记录处理程序。 安装 pip install python-logging-loki 用法 import logging import logging_loki handler = logging_loki . LokiHandler ( url = ...

    python日志输出----logging浅析与使用[参照].pdf

    python日志输出----logging浅析与使用[参照].pdf

    spring-framework & commons-logging

    spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & ...

    jboss-logging-3.4.3.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....

    commons-logging-1.2-API文档-中英对照版.zip

    赠送jar包:commons-logging-1.2.jar; 赠送原API文档:commons-logging-1.2-javadoc.jar; 赠送源代码:commons-logging-1.2-sources.jar; 包含翻译后的API文档:commons-logging-1.2-javadoc-API文档-中文...

    commons-logging-1.2-API文档-中文版.zip

    赠送jar包:commons-logging-1.2.jar; 赠送原API文档:commons-logging-1.2-javadoc.jar; 赠送源代码:commons-logging-1.2-sources.jar; 包含翻译后的API文档:commons-logging-1.2-javadoc-API文档-中文...

    commons-logging-1.1.3-API文档-中英对照版 (2).zip

    赠送jar包:commons-logging-1.1.3.jar; 赠送原API文档:commons-logging-1.1.3-javadoc.jar; 赠送源代码:commons-logging-1.1.3-sources.jar; 赠送Maven依赖信息文件:commons-logging-1.1.3.pom; 包含翻译后...

    commons-logging-1.1.3-API文档-中文版.zip

    赠送jar包:commons-logging-1.1.3.jar; 赠送原API文档:commons-logging-1.1.3-javadoc.jar; 赠送源代码:commons-logging-1.1.3-sources.jar; 赠送Maven依赖信息文件:commons-logging-1.1.3.pom; 包含翻译后...

    commons-logging-1.2-sources.jar

    commons-logging-1.2-sources.jar资源

    commons-logging-1.2.jar

    spring依赖的common-logging jar包

    commons-logging-1.1.1-API文档-中文版.zip

    赠送jar包:commons-logging-1.1.1.jar 赠送原API文档:commons-logging-1.1.1-javadoc.jar 赠送源代码:commons-logging-1.1.1-sources.jar 包含翻译后的API文档:commons-logging-1.1.1-javadoc-API文档-中文...

    pax-logging-api-1.7.3.jar,pax-logging-service-1.7.3.jar

    在felix中使用pax-logging-service pax-logging-api-1.7.3.jar,pax-logging-service-1.7.3.jar,pax-confman-propsloader-0.2.3.jar 在system.properties中加入bundles.configuration.location=conf conf\services\...

Global site tag (gtag.js) - Google Analytics