我正在尝试使用我的Openshift python 3.3应用程序上的Cherrypy进行日志记录。 'appserver.log'文件仅更新,直到实际服务器启动,然后没有任何内容添加到日志文件中。我已阅读并遵循(据我所知)以下链接的文档。仍然没有记录。
http://docs.cherrypy.org/dev/refman/_cplogging.html
我的python代码段:
def run_cherrypy_server(app, ip, port=8080):
from cherrypy import wsgiserver
from cherrypy import config
# log.screen: Set this to True to have both “error” and “access” messages printed to stdout.
# log.access_file: Set this to an absolute filename where you want “access” messages written.
# log.error_file: Set this to an absolute filename where you want “error” messages written.
appserver_error_log = os.path.join(os.environ['OPENSHIFT_HOMEDIR'], 'python', 'logs','appserver_error.log')
appserver_access_log = os.path.join(os.environ['OPENSHIFT_HOMEDIR'], 'python', 'logs','appserver_access.log')
config.update({
'log.screen': True,
'log.error_file': appserver_error_log,
'log.access_file': appserver_access_log
})
server = wsgiserver.CherryPyWSGIServer(
(ip, port), app, server_name='www.cherrypy.example')
server.start()
'appserver_error.log'和'appserver_access.log'文件实际上是在适当的Openshift python目录中创建的。但是,appserver_error.log和appserver_access.log中的文件都没有记录信息。
一切运行正常,但没有记录。
任何想法我做错了什么?
答案 0 :(得分:3)
WSGI服务器本身不进行任何日志记录。 CherryPy引擎(控制进程启动和关闭)写入“错误”日志,只有CherryPy应用程序(使用CherryPy的请求和响应对象)写入访问日志。如果您要传递自己的WSGI应用程序,则必须自己进行日志记录。