如何在django中添加日志功能
更新時間:2020年02月06日 09:43:18 作者:子欽加油
這篇文章主要介紹了django中添加日志功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
在settings中配置以下代碼
#LOGGING_DIR 日志文件存放目錄
LOGGING_DIR = "logs" # 日志存放路徑
if not os.path.exists(LOGGING_DIR):
os.mkdir(LOGGING_DIR)
import logging
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': { #格式化器
'standard': {
'format': '[%(levelname)s][%(asctime)s][%(filename)s][%(funcName)s][%(lineno)d] > %(message)s'
},
'simple': {
'format': '[%(levelname)s]> %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file_handler': {
'level': 'INFO',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': '%s/django.log' % LOGGING_DIR, #具體日志文件的名字
'formatter':'standard'
}, # 用于文件輸出
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'formatter':'standard'
},
},
'loggers': { #日志分配到哪個handlers中
'mydjango': {
'handlers': ['console','file_handler'],
'level':'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
####如果要將get,post請求同樣寫入到日志文件中,則這個觸發(fā)器的名字必須交django,然后寫到handler中
}
}
在settings中寫完配置之后,下面就要具體到相應(yīng)的視圖函數(shù)中了。注意:這里我們在實施到具體函數(shù)或方法的時候需要手動捕獲異常
然后視圖函數(shù)中
#這里我們模擬一個登陸來寫
log = logging.getLogger('mydjango') #這里的mydjango是settings中l(wèi)oggers里面對應(yīng)的名字
class Login(View):
def get(self,request):
return render(request,'login.html')
def post(self,request):
user = request.POST.get('username')
pwd = request.POST.get('password')
try:
s = 1/0
except Exception as e:
log.error(e)
總結(jié)
以上所述是小編給大家介紹的如何在django中添加日志功能,希望對大家有所幫助!
相關(guān)文章
Python構(gòu)建機器學(xué)習(xí)API服務(wù)的操作過程
這篇文章主要介紹了Python構(gòu)建機器學(xué)習(xí)API服務(wù)的操作過程,通過本文的指導(dǎo),讀者可以學(xué)習(xí)如何使用Python構(gòu)建機器學(xué)習(xí)模型的API服務(wù),并了解到在實際應(yīng)用中需要考慮的一些關(guān)鍵問題和解決方案,從而為自己的項目提供更好的支持和服務(wù),需要的朋友可以參考下2024-04-04
Python?不設(shè)計?do-while?循環(huán)結(jié)構(gòu)的理由
Python作為一種語言不支持do-while循環(huán)。?但是,我們可以采用一種變通方法來模擬do-while循環(huán)?。下面通過本文給大家分享下Python?不設(shè)計do-while?循環(huán)結(jié)構(gòu)的理由,需要的朋友可以參考下2022-01-01
tensorflow沒有output結(jié)點,存儲成pb文件的例子
今天小編就為大家分享一篇tensorflow沒有output結(jié)點,存儲成pb文件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python自動化測試中裝飾器@ddt與@data源碼深入解析
最近工作中接觸了python自動化測試,所以下面這篇文章主要給大家介紹了關(guān)于python自動化測試中裝飾器@ddt與@data源碼解析的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12
給Python學(xué)習(xí)者的文件讀寫指南(含基礎(chǔ)與進階)
今天,貓貓跟大家一起,好好學(xué)習(xí)Python文件讀寫的內(nèi)容,這部分內(nèi)容特別常用,掌握后對工作和實戰(zhàn)都大有益處,學(xué)習(xí)是循序漸進的過程,欲速則不達2020-01-01

