您好我正在寻找一些允许我静音所请求页面的配置或标志。
当我运行python cherrypy_app.py
并加入控制台中的127.0.0.1:8080
时,我开始使用这个应用程序给我看
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 ..."
我不想显示此信息。有可能吗?
答案 0 :(得分:1)
据我记得,在我第一次尝试使用CherryPy时,我有同样的愿望。所以除了关闭stdout日志记录之外,还有更多的话要说。
CherryPy有一些预定义的environments:staging,production,embedded,test_suite,它们被定义为here。每个环境都有其配置集。因此,虽然开发stdout日志记录实际上非常有用,但在生产环境中却毫无意义。根据部署设置环境是在CherryPy中处理配置的正确方法。
在您的特定情况下,stdout日志记录由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)