首先了解一下python的logging模塊
import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
結(jié)果如下:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4068471-932e18ef0ee5f9b8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
1.默認情況下python的logging模塊將日志打印到了標準輸出中,且只顯示了大于等于WARNING級別的日志
2.日志級別等級CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
詳細文檔可以參考:
http://python.usyiyi.cn/translate/python_278/howto/logging.html#logging-basic-tutorial
http://blog.csdn.net/zyz511919766/article/details/25136485
###在settings.py中添加如下信息:
自定義日志輸出信息LOGGING={
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s[
%(threadName)s: %(thread)d
][
%(name)s: %(lineno)d
][
%(module)s: %(funcName)s
][
%(levelname)s
]-%(message)s'
}#日志格式
},
'filters': {
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'include_html': True,
},
'default': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'log/all.log',
#日志輸出文件'maxBytes': 1024*1024*5,
#文件大小'backupCount': 5,
#備份份數(shù)'formatter': 'standard',
#使用哪種formatters日志格式
},
'error': {
'level': 'ERROR',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'log/error.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'standard',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'standard'
},
'request_handler': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'log/script.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'standard',
},
'scprits_handler': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'log/script.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'standard',
}
},
'loggers': {
'django': {
'handlers': [
'default',
'console'
],
'level': 'DEBUG',
'propagate': False
},
'django.request': {
'handlers': [
'request_handler'
],
'level': 'DEBUG',
'propagate': False,
},
'scripts': {
'handlers': [
'scprits_handler'
],
'level': 'INFO',
'propagate': False
},
'blog.views': {
'handlers': [
'default',
'error'
],
'level': 'DEBUG',
'propagate': True
},
}
}
###在blog/views.py中添加:
import logging
logger = logging.getLogger('blog.views')
###添加網(wǎng)站全局信息
由于可能有很多地方都會用到椒振,所以可以在settings.py中添加如下:
SITE_NAME = "Paul 的個人博客"
SITE_DESC = "學(xué)習python開發(fā)迷帜,歡迎大家交流"
在blog/views.py中添加:
from django.conf import settings
def global_settings(request):
return {'SITE_NAME':settings.SITE_NAME,'SITE_DESC':settings.SITE_DESC}
在settings.py的TEMPLATES中添加:
TEMPLATES=[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR,'templates')
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'blog.views.global_settings',
],
},
},
]
今天就是照著葫蘆畫了個瓢乡数,大概的用法了解了织盼,還未深入研究,等項目完成之后可以回頭看看盗似,繼續(xù)整理