Python Cherrypy Access Log Вращение - PullRequest
3 голосов
/ 21 октября 2009

Если я хочу, чтобы журнал доступа для Cherrypy получал только фиксированный размер, как бы я использовал вращающиеся файлы журнала?

Я уже пробовал http://www.cherrypy.org/wiki/Logging,, который устарел или отсутствует информация.

Ответы [ 4 ]

4 голосов
/ 21 октября 2009

Посмотрите на http://docs.python.org/library/logging.html.

Возможно, вы хотите настроить RotatingFileHandler

http://docs.python.org/library/logging.html#rotatingfilehandler

3 голосов
/ 19 января 2010

Я уже пробовал http://www.cherrypy.org/wiki/Logging,, что кажется устарел или отсутствует информация.

Попробуйте добавить:

import logging
import logging.handlers
import cherrypy # you might have imported this already

и вместо

log = app.log

может быть, попробуйте

log = cherrypy.log
2 голосов
/ 17 ноября 2014

Документация CherryPy для пользовательских обработчиков журнала показывает именно этот пример.

Вот слегка измененная версия, которую я использую в своем приложении:

import logging
from logging import handlers

def setup_logging():

    log = cherrypy.log

    # Remove the default FileHandlers if present.
    log.error_file = ""
    log.access_file = ""

    maxBytes = getattr(log, "rot_maxBytes", 10000000)
    backupCount = getattr(log, "rot_backupCount", 1000)

    # Make a new RotatingFileHandler for the error log.
    fname = getattr(log, "rot_error_file", "log\\error.log")
    h = handlers.RotatingFileHandler(fname, 'a', maxBytes, backupCount)
    h.setLevel(logging.DEBUG)
    h.setFormatter(cherrypy._cplogging.logfmt)
    log.error_log.addHandler(h)

    # Make a new RotatingFileHandler for the access log.
    fname = getattr(log, "rot_access_file", "log\\access.log")
    h = handlers.RotatingFileHandler(fname, 'a', maxBytes, backupCount)
    h.setLevel(logging.DEBUG)
    h.setFormatter(cherrypy._cplogging.logfmt)
    log.access_log.addHandler(h)

setup_logging()
2 голосов
/ 21 октября 2009

Cherrypy ведет свою регистрацию, используя стандартный модуль регистрации Python. Вам нужно будет изменить его на использование RotatingFileHandler . Этот обработчик позаботится обо всем за вас, включая вращение бревна, когда оно достигнет установленного максимального размера.

...