我使用django 1.4.6,我想使用与django集成的记录器模块来输出响应内容,但是,我无法在日志文件中看到它。 此处显示的源样本:
import logging
logger = logging.getLogger('__file__')
...
response = redirect(url)
logger.debug(response.content)
return response
答案 0 :(得分:1)
配置记录器,处理程序,过滤器和格式化程序后, 您需要按如下方式调用它:
import logging
# Standard instance of a logger with __name__
stdlogger = logging.getLogger(__name__)
logger.debug(response.content)
response = redirect(url)
return response
对logging.getLogger()的调用获取(如果需要,创建)记录器的实例。记录器实例由名称标识。此名称用于标识记录器以进行配置。
按照惯例,记录器名称通常为名称。
用于getLogger的Python name 语法会自动将包名称指定为记录器名称。
答案 1 :(得分:1)
请显示登录静态文件的peple配置
我的代码几乎没有变化
logger = logging.getLogger(__name__)
在settings.py上记录配置
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
}
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/var/log/django_practices.log',
'formatter': 'verbose'
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'stream': sys.stdout,
'formatter': 'verbose'
},
},
'loggers': {
'name_your_app_django': {
'handlers': ['file', 'console'],
'level': ode'DEBUG',
}
}
}
在我的配置日志中将以控制台和文件名打印。 注意: name_your_app_django 更改为修复您的代码。