如何在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異常處理:try、except、else、finally的全面解析
在Python中,異常是程序在運行時發(fā)生的錯誤,當(dāng)Python解釋器遇到一個它不能處理的錯誤時,它會拋出一個異常,異常處理的主要目的是在程序遇到錯誤時,提供一種方法來處理這些錯誤,而不是簡單地讓程序崩潰,本文介紹了Python異常處理:try、except、else、finally的全面解析2024-07-07Python監(jiān)測屏幕界面內(nèi)容變化并發(fā)送通知方法詳解
這篇文章主要為大家介紹了Python監(jiān)測屏幕界面內(nèi)容變化并發(fā)送通知,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06pytorch 如何實現(xiàn)HWC轉(zhuǎn)CHW
這篇文章主要介紹了pytorch HWC轉(zhuǎn)CHW的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05keras 實現(xiàn)輕量級網(wǎng)絡(luò)ShuffleNet教程
這篇文章主要介紹了keras 實現(xiàn)輕量級網(wǎng)絡(luò)ShuffleNet教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06詳解一種用django_cache實現(xiàn)分布式鎖的方式
這篇文章主要介紹了詳解一種用django_cache實現(xiàn)分布式鎖的方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Python 找出出現(xiàn)次數(shù)超過數(shù)組長度一半的元素實例
這篇文章主要介紹了Python 找出出現(xiàn)次數(shù)超過數(shù)組長度一半的元素實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05PyTorch 解決Dataset和Dataloader遇到的問題
今天小編就為大家分享一篇PyTorch 解決Dataset和Dataloader遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01