Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作示例
本文實(shí)例講述了Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志。分享給大家供大家參考,具體如下:
Django uses Python's builtin logging module to perform system logging.
Django使用python的內(nèi)建日志模塊來記錄系統(tǒng)日志,但是要想在django應(yīng)用中開啟此功能使我們的部分操作能夠被記錄到日志文件,那么就需要進(jìn)行一定的配置并且根據(jù)具體的log類型來進(jìn)行調(diào)用
step 1:配置setting.py
以下配置除了filename和formatters需要根據(jù)實(shí)際情況來修改外都可以保持不變
LOGGING = { 'version': 1, 'disable_existing_loggers': False,#此選項(xiàng)開啟表示禁用部分日志,不建議設(shè)置為True 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(message)s'#日志格式 }, 'simple': { 'format': '%(levelname)s %(message)s' }, }, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue',#過濾器,只有當(dāng)setting的DEBUG = True時(shí)生效 }, }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'verbose' }, 'file': {#重點(diǎn)配置部分 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': '/home/lockey23/myapp/myapp/debug.log',#日志保存文件 'formatter': 'verbose'#日志格式,與上邊的設(shè)置對(duì)應(yīng)選擇 } }, 'loggers': { 'django': {#日志記錄器 'handlers': ['file'], 'level': 'DEBUG', 'propagate': True, } }, }
step 2: 實(shí)際調(diào)用
比如說我們想在某些view中調(diào)用logger來記錄操作,如下:
import logging logger = logging.getLogger('django')#這里的日志記錄器要和setting中的loggers選項(xiàng)對(duì)應(yīng),不能隨意給參 #接下來就是調(diào)用了: logger.debug('[Debug] '+ msg) logger.info('[Success] '+ msg) logger.warning('[Warning] '+ msg) logger.error('[Error] '+ msg) logger.critical('[Critical] '+ msg) ...... if auth_pass: logger.info('[Success] '+ user +' has logged in!') return JsonResponse({'result': 'Success', 'message': 'Login successfully.'}) else: logger.warning('[Failed] '+ user + ' failed to login!')
希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python中multiprosessing模塊的Pool類中的apply函數(shù)和apply_async函數(shù)的區(qū)別
這篇文章主要介紹了python中multiprosessing模塊的Pool類中的apply函數(shù)和apply_async函數(shù)的區(qū)別、文章圍繞主題的相關(guān)內(nèi)容展開詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)
這篇文章主要介紹了pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Django添加bootstrap框架時(shí)無法加載靜態(tài)文件的解決方式
這篇文章主要介紹了Django添加bootstrap框架時(shí)無法加載靜態(tài)文件的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python從函數(shù)參數(shù)類型引出元組實(shí)例分析
這篇文章主要介紹了Python從函數(shù)參數(shù)類型引出元組,結(jié)合實(shí)例形式分析了Python函數(shù)定義與使用中常見的三種參數(shù)類型,并簡單分析了元組類型參數(shù)的使用,需要的朋友可以參考下2019-05-05PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法
這篇文章主要介紹了PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-06-06