我有一个很奇怪的问题,我在日志工具里面使用Django/python。由于我升级到django 1.3,日志不再工作。它似乎与logging.py文件中的日志级别和“debug =”设置有关。django/python logging
1)当我登录INFO消息和debug = False时,记录不会发生,我的文件不会被追加。当我登录WARNING消息和debug = False时,日志工作完全像我想要的那样,文件被追加 3)当我登录INFO消息并且debug = True时,日志似乎工作,文件被追加。
我该如何使用debug = False记录INFO消息?它在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与调试在settings.py文件设置为False工作。当我应该这样做:
logger_test.warning('testing the logging functionality')
当调试设置为False时,此功能完美。级别DEBUG和INFO不记录但警告,错误和严重正在做他们的工作...
有没有人有想法?
使用更高级别时它工作吗? –
是的,这就像我说,当我使用警告或错误,例如它的工作,但我想某些消息的信息工作...我不明白了... – TTT
看,只有信息是缺少的: Thu,2011-06-16 08:45:03 test WARNING test warning Thu,2011-06-16 08:45:03 test ERROR test error Thu,2011-06-16 08:45:03 test CRITICAL测试关键 – TTT