1

我用它来设置我的日志,但没有用。

tornado.options.options['log_file_prefix'].set('/opt/logs/my_app.log')
tornado.options.parse_command_line()

得到这个错误

    tornado.options.options['log_file_prefix'].set('/logs/my_app.log')
TypeError: 'OptionParser' object is not subscriptable

我希望将日志打印在终端和日志文件上,并且我通过 xml 配置文件而不是直接通过命令行启动我的应用程序,我该怎么做?

4

2 回答 2

5

选项通常使用属性语法而不是项语法访问,您不应该set()直接调用。要以编程方式设置标志,请使用:

from tornado.options import options
options.log_file_prefix = "/path/to/log"

Tornado 使用标准库logging模块,因此如果您想像在非 Tornado 应用程序中那样配置日志记录,您也可以这样做。(如果您想将 tornado.options 用于其他事情但不希望它触及您可以设置的日志记录配置options.logging = 'none'

于 2013-09-23T00:01:07.560 回答
1

利用

from tornado.options import define, options

define("log_file_prefix", default="/opt/logs", help="log file prefix")
于 2013-09-11T17:07:02.547 回答