笔记下如何使用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-logging-loki-0.2.0.tar.gz”是针对Python开发的一个特定库,名为“logging-loki”,版本为0.2.0。这个库专门用于日志管理和分析,尤其是与Loki兼容,Loki是由Prometheus Labs开发的一个分布式日志...
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-...
common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。...
赠送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....
赠送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学习笔记的大纲,涵盖了从基础到进阶的内容。你可以根据自己的学习进度和理解情况,逐步填充和完善这个大纲。 Python学习笔记大纲 一、Python基础 Python简介 Python的历史 Python的特点和应用...
Loki的Python日志记录处理程序。 安装 pip install python-logging-loki 用法 import logging import logging_loki handler = logging_loki . LokiHandler ( url = ...
赠送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....
spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & ...
Python自带的日志模块`logging`,提供了强大的功能和灵活性,使得日志记录变得既简单又高效。 #### 日志模块简介 `logging`模块的核心概念围绕`Logger`类展开。`Logger`对象用于记录日志,通常每个应用程序的组成...
**Python学习笔记-WSGI接口** 在Python web开发中,WSGI(Web Server Gateway Interface)是一种标准接口,用于web服务器与web应用之间的通信。这个接口定义了一种规范,使得不同的服务器和应用程序可以协同工作,...
`ecs-logging-1.0.0.tar.gz`是一个专门针对日志管理的Python库,它为Amazon Elastic Container Service (ECS)提供了一种方便的方式来记录和处理应用程序的日志数据。在这个压缩包中,我们找到了`ecs-logging-1.0.0`...
Apache Commons Logging 是一个Java日志框架的抽象层,它允许开发者在不同的日志实现之间进行切换,而无需修改代码。这个"commons-logging-1.2-bin.zip"压缩包包含了Apache Commons Logging库的1.2版本,这是一个...
赠送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文档-中文...
赠送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; 包含翻译后...
spring依赖的common-logging jar包
赠送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文档-中文...
赠送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; 包含翻译后...
Apache Commons Logging(简称Commons Logging)是Apache软件基金会开发的一个开源项目,它提供了一个轻量级的日志API,旨在为Java应用程序提供一个简单的接口来记录日志信息。这个接口能够适配多种流行的日志实现,...
Henson-Logging是这样一个专门针对日志处理的Python库,它的版本0.3.0为开发者提供了更为高效、灵活的日志解决方案。本文将深入探讨Henson-Logging-0.3.0的核心特性、使用方法以及其在实际开发中的应用。 首先,...