您好,登錄后才能下訂單哦!
在使用 django 開發過程中,默認的日志輸出是不能滿足我們去排查問題的,往往需要自定義的日志輸出,幫助我們去排查程序BUG,定位問題原因。
在使用 django 的開發過程中,我使用的是 python 內置日志模塊 logging
logging 的詳細使用講解我就不多說了,度娘一抓一大抓;我只記錄下我在 django settings 中的 logger 配置。方便以后使用
以下在我在 settings 中定義的 logger:
# Custom output log
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s %(levelname)s %(pathname)s %(module)s.%(funcName)s %(lineno)d: %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'formatter': 'standard'
},
'file_handler': {
'level': 'DEBUG',
'filters': ['require_debug_false'],
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'logs/ops.log'),
'formatter': 'standard'
},
'console': {
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers': ['console', 'file_handler'],
'level': 'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
}
}
使用的話很簡單,在代碼文件最上面加上下面兩行代碼就行:
import logging
logger = logging.getLogger('django')”
現在就可以使用了
logger.info('message')
logger.error('message')
logger.warn('message')
logger.debug('message')
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。