У меня довольно странная проблема с моим средством ведения журналов, которое я использую внутри django / python.Регистрация больше не работает, так как я обновился до django 1.3.Кажется, это связано с уровнем ведения журнала и настройкой «debug =» в файле settings.py.
1) Когда я регистрирую сообщения INFO и debug = False, запись в журнал не происходит, мой файлне добавляется2) Когда я регистрирую сообщения WARNING и debug = False, запись в журнал работает так, как я хочу, файл добавляется 3) Когда я регистрирую сообщения INFO и debug = True, запись в журнал, кажется, работает, файл добавляется.
Как я могу регистрировать сообщения INFO с помощью debug = False?Это работало до django 1.3 ... есть ли где-то загадочная обстановка, которая добивается цели?Ниже приведен пример кода:
views.py:
import logging
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(levelname)s %(message)s',
filename='/opt/general.log',
filemode='a')
def create_log_file(filename, log_name, level=logging.INFO):
handler = logging.handlers.TimedRotatingFileHandler(filename, 'midnight', 7, backupCount=10)
handler.setLevel(level)
formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s', '%a, %Y-%m-%d %H:%M:%S')
handler.setFormatter(formatter)
logging.getLogger(log_name).addHandler(handler)
create_log_file('/opt/test.log', 'testlog')
logger_test = logging.getLogger('testlog')
logger_test.info('testing the logging functionality')
С этим кодом ведение журнала не работает в Django 1.3 с отладкой, установленной на False вфайл settings.py.Когда я должен сделать так:
logger_test.warning('testing the logging functionality')
Это отлично работает, когда для отладки установлено значение False.Уровни DEBUG и INFO не регистрируются, но WARNING, ERROR и CRITICAL делают свою работу ...
У кого-нибудь есть идея?