cherrypy:python如何在日志旋转器的帮助下为日常创建单独的请求日志文件

时间:2013-09-23 11:40:16

标签: python python-2.7 cherrypy

我想在cherrypy中创建用于访问和错误的单独日志文件。  我读了http://docs.cherrypy.org/dev/refman/_cplogging.html,但我没有编写代码来实现日志记录。

我在更多链接Python Cherrypy Access Log Rotation上阅读。

plz提供代码并记录如何在cherrypy中实现日志记录 plz通过提供示例代码帮助我

我有一个hello.py文件

import cherrypy

类HelloWorld:     def index(self):         回归“Hello world!”     index.exposed = True

@cherrypy.expose
def link(self):
    #print HelloWorld.c

    #print self.j
    return "link"

@cherrypy.expose
def link2(self):
    return "link2"

如果名称 =='主要':     cherrypy.quickstart(的HelloWorld())

实现日志记录需要进行哪些更改 请提供代码..

1 个答案:

答案 0 :(得分:0)

试试这个......

import logging
from cherrypy import _cplogging
from logging import handlers
import cherrypy

class HelloWorld:
    @cherrypy.expose 
    def index(self):
        return "Hello world!" 

    @cherrypy.expose
    def link(self):
        #print HelloWorld.c

        #print self.j
        return "link"

    @cherrypy.expose
    def link2(self):
        return "link2"

if name == 'main' :
    applicationLogFileHandler = handlers.TimedRotatingFileHandler('rot_access_file', "midnight", 1)
    applicationLogFileHandler.setLevel(logging.DEBUG)
    applicationLogFileHandler.setFormatter(_cplogging.logfmt)
    cherrypy.log.access_log.addHandler(applicationLogFileHandler)

    applicationLogFileHandler = handlers.TimedRotatingFileHandler('rot_error_file', "midnight", 1)
    applicationLogFileHandler.setLevel(logging.DEBUG)
    applicationLogFileHandler.setFormatter(_cplogging.logfmt)
    cherrypy.log.error_log.addHandler(applicationLogFileHandler)

    cherrypy.quickstart(HelloWorld())

希望这有帮助!