каков механизм регистрации в python (2.5.2)?log4j похож на библиотеку или подойдет стандартный класс python / geodjango? - PullRequest
5 голосов
/ 01 ноября 2011

Я планирую добавить механизм регистрации в мой веб-сервис python & geodjango. Есть ли log4j похожий механизм регистрации в python / geodjango?

Я ищу эквивалент ежедневного файла журнала log4j. Затем автоматически удалите все 1-месячные старые файлы журнала.

Любое руководство приветствуется.

UPDATES1 Я думаю о следующем формате.

datetime(ms)|log level|current thread name|client ip address|logged username|source file|source file line number|log message

1 Ответ

3 голосов
/ 01 ноября 2011

Да - Python 2.5 включает в себя модуль 'logging'.Один из поддерживаемых обработчиков - handlers.TimedRotatingFileHandler, это то, что вы ищете.'logging' очень прост в использовании:

пример:

import logging
import logging.config

logging.fileConfig('mylog.conf')
logger = logging.getLogger('root')

Ниже приведен ваш конфигурационный файл для регистрации

#======================

# mylog.conf
[loggers]
keys=root

[handlers]
keys=default

[formatters]
keys=default

[logger_root]
level=INFO
handlers=default
qualname=(root) # note - this is used in non-root loggers
propagate=1 # note - this is used in non-root loggers
channel=
parent=

[handler_default]
class=handlers.TimedRotatingFileHandler
level=INFO
formatter=default
args=('try.log', 'd', 1)

[formatter_default]
format=%(asctime)s %(pathname)s(%(lineno)d): %(levelname)s %(message)s
...