Python v3 Logging - PullRequest
       1

Python v3 Logging

2 голосов
/ 04 марта 2011

Я мог бы использовать этот код ниже на Python 2. Я попробовал его на Python 3, и я получил ошибку.Кто-нибудь может объяснить, почему?

Код:

import logging
import logging.handlers

LOG_FILENAME = 'poller.log'

# Set up a specific logger with our desired output level
poll_logger = logging.getLogger('pollerLog')

# Add the log message handler to the logger
log_rotator = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when='d', interval=1, backupCount=5, encoding=None, delay=False, utc=False)
poll_logger.addHandler(log_rotator)

# Roll over on application start
poll_logger.handlers[0].doRollover()

Ошибка:

Traceback (most recent call last):
  File "logR.py", line 10, in <module>
    log_rotator = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when='d', interval=1, back
upCount=5, encoding=None, delay=False, utc=False)
  File "C:\LynxApps\Python31\lib\logging\handlers.py", line 206, in __init__
    t = os.stat(filename)[ST_MTIME]
NameError: global name 'ST_MTIME' is not defined

Я проверил документы ниже, и я не вижу никакой разницы:

Python v2 -> http://docs.python.org/library/logging.html#timedrotatingfilehandler

Python v3 -> http://docs.python.org/py3k/library/logging.handlers.html?highlight=logging#timedrotatingfilehandler

1 Ответ

5 голосов
/ 04 марта 2011

Это ошибка в Python 3.1.3 (см. Проблему на bugs.python.org ).

Возможно, это исправлено в Python 3.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...