怎么没有屏幕日志记录运行CherryPy的应用程序?(How run cherrypy app wi

2019-11-03 09:20发布

您好我找一些配置或者标志,让我沉默的请求的页面。

当我运行python cherrypy_app.py和我一起到127.0.0.1:8080在控制台中,我开始CherryPy的应用程序告诉我

127.0.0.1 - - [09/Oct/2014:19:10:35] "GET / HTTP/1.1" 200 1512 "" "Mozilla/5.0 ..." 127.0.0.1 - - [09/Oct/2014:19:10:35] "GET /static/css/style.css HTTP/1.1" 200 88 "http://127.0.0.1:8080/" "Mozilla/5.0 ..." 127.0.0.1 - - [09/Oct/2014:19:10:36] "GET /favicon.ico HTTP/1.1" 200 1406 "" "Mozilla/5.0 ..."

我不想显示这个信息。 有可能的?

Answer 1:

我就记得我与CherryPy的第一次尝试,我有同样的愿望。 因此,这里的多一点,除了关闭标准输出日志本身说。

CherryPy的有一些预定义的环境 :分期,生产被定义嵌入式,test_suite 这里 。 每个环境都有一套配置。 因此,尽管开发标准输出记录,其实是非常有帮助的,而在生产环境中它是没有意义的。 根据部署设置环境是买卖的CherryPy配置的正确方法。

在您的特定情况下,标准输出日志记录由控制log.screen 。 它在生产环境中已被禁用。

这里的例子,但是请注意,设置您的应用程序内部的环境是不是最好的主意。 你更好地利用cherryd--environment它来代替。

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import cherrypy


config = {
  'global' : {
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 8080,
    'server.thread_pool' : 8,
    # Doing it explicity isn't a recommended way
    # 'log.screen' : False
  }
}

class App:

  @cherrypy.expose
  def index(self):
    return 'Logging example'


if __name__ == '__main__':
  # Better use cherryd (http://cherrypy.readthedocs.org/en/latest/install.html#cherryd) 
  # for setting the environment outside the app
  cherrypy.config.update({'environment' : 'production'})

  cherrypy.quickstart(App(), '/', config)


文章来源: How run cherrypy app without screen logging?
标签: cherrypy