【发布时间】:2015-12-20 21:40:44
【问题描述】:
请告诉我如何获取我在本地运行 ./manage.py runserver 时看到的所有打印结果。我不想使用记录器。理想情况下,我想连接到我的 manage.py 并查看服务器现在正在为我打印什么。 我试过django print information on production server 没有成功。 我知道我只关注 tail -f 日志文件,我会看到最后几行,但我找不到我的打印件在哪里。请帮忙。 这是我的日志记录配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue'
}
},
'formatters': {
'main_formatter': {
'format': '%(levelname)s:%(name)s: %(message)s '
'(%(asctime)s; %(filename)s:%(lineno)d)',
'datefmt': "%Y-%m-%d %H:%M:%S",
},
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'console':{
#'level': 'DEBUG',
'level': 'ERROR',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'main_formatter',
},
'production_file':{
'level' : 'INFO',
'class' : 'logging.handlers.RotatingFileHandler',
'filename' : 'logs/main.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount' : 7,
'formatter': 'main_formatter',
'filters': ['require_debug_false'],
},
'debug_file':{
'level' : 'DEBUG',
'class' : 'logging.handlers.RotatingFileHandler',
'filename' : 'logs/main_debug.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount' : 7,
'formatter': 'main_formatter',
'filters': ['require_debug_true'],
},
'null': {
"class": 'django.utils.log.NullHandler',
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins', 'console'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['null', ],
},
'py.warnings': {
'handlers': ['null', ],
},
'': {
'handlers': ['console', 'production_file', 'debug_file'],
'level': "DEBUG",
},
}
}
【问题讨论】:
-
为什么你不想使用日志?是最简单的解决方案,可以让您完全按照自己的需要去做。
标签: django logging printing production