0

cherrypyでアクセスとエラーのログファイルを分けて作成したい。http://docs.cherrypy.org/dev/refman/_cplogging.htmlを読みましたが、ログを実装するためのコードを書くことができません。

私はより多くのリンクPython Cherrypy Access Log Rotationを読んでいます。

plzはコードを提供し、cherrypyでロギングを実装する方法を文書化します plzはサンプルコードを提供することで私を助けてくれます

私は1つのhello.pyファイルをhvします

インポートチェリーピー

class HelloWorld: def index(self): return "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())

ロギングを実装するために必要な変更は何ですか コードを提供してください..

4

1 に答える 1

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())

お役に立てれば!

于 2013-09-23T12:52:31.883 に答える