校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Django項目如何正確配置日志(logging)

Django項目如何正確配置日志(logging)

熱門標簽:遼寧400電話辦理多少錢 外呼不封號系統 電信營業廳400電話申請 溫州旅游地圖標注 悟空智電銷機器人6 蘇州電銷機器人十大排行榜 幫人做地圖標注收費算詐騙嗎 江蘇房產電銷機器人廠家 荊州云電銷機器人供應商

當Django項目正式部署上線后,我們需要設置DEBUG = False。這時開發者應怎樣檢查Django程序在生產環境運行時有什么異常或錯誤呢?答案就是日志(logging)。在生產環境中,Django默認是不會在服務器上自動生成log文件的,即使程序出現error級別的故障也不會通知管理員。本文將教你如何在Django項目中正確配置日志(logging),讓Django生成log日志文件,并在程序運行發生error級別故障時通知管理員。

日志基礎知識

日志與我們的軟件程序密不可分。它記錄了程序的運行情況,可以給我們調試程序和故障排查提供非常有用的信息。每一條日志信息記錄了一個事件的發生。具體而言,它包括了:

  • 事件發生時間
  • 事件發生位置
  • 事件的嚴重程度--日志級別
  • 事件內容

日志的級別又分為:

  • DEBUG:用于調試目的的低級系統信息
  • INFO:一般系統信息
  • WARNING:描述已發生的小問題的信息。
  • ERROR:描述已發生的主要問題的信息。
  • CRITICAL:描述已發生的嚴重問題的信息。

在Django項目中,我們可以針對日志的不同級別設置不同的處理方式。比如INFO級別及以上的日志我們寫入到log文件里保存,Error級別及以上的日志我們直接通過郵件發送給系統管理員。

Django的日志模塊

Django的日志模塊其實就是python的logging模塊。它由4部分組成:

  • Logger 記錄儀:生成和記錄每條日志信息及級別
  • Handler處理程序: 根據日志信息級別交由相應處理程序處理(比如生成文件或發送郵件)
  • Filters 過濾器:日志交由處理程序處理前需要滿足的過濾條件(比如Debug=True或False)
  • Formaters 格式化程序:決定每條日志的打印輸出格式,可以有完整版的,也有簡單版的

一個logger記錄儀的例子如下所示。當程序運行出現錯誤時,它生成了一條級別為error的日志信息。這條記錄產生后就會交由Handler處理。

# import the logging library
import logging
# 獲得logger實例
logger = logging.getLogger(__name__)
def my_view(request, arg1, arg):
    ...
    if error_happens:
        # Log an error message
        logger.error('Something went wrong!')

當Debug=True時,日志信息默認在console輸出。現在我們還需要在django配置文件里配置日志(logging)相關內容,使得當Debug=False時,日志信息會輸出到日志文件里或發送給系統管理員。

settings.py推薦日志配置信息

以下基本配置信息在django cookiecutter推薦使用的logging配置信息上做了修改,可適合大部分項目使用。如果真的希望發送和接收到郵件還需在settings.py正確配置電子郵箱Email。

# 給ADMINS發送郵件需要配置
ADMINS = (
 ('admin_name','your@gmail.com'),
)
MANAGERS = ADMINS
# 創建log文件的文件夾
LOG_DIR = os.path.join(BASE_DIR, "logs")

# 基本配置,可以復用的
LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
    "formatters": { # 定義了兩種日志格式
        "verbose": { # 標準
            "format": "%(levelname)s %(asctime)s %(module)s "
            "%(process)d %(thread)d %(message)s"
        },
        'simple': { # 簡單
            'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
        },
    },
    "handlers": { # 定義了三種日志處理方式
        "mail_admins": { # 只有debug=False且Error級別以上發郵件給admin
            "level": "ERROR",
            "filters": ["require_debug_false"],
            "class": "django.utils.log.AdminEmailHandler",
        },
        'file': { # Info級別以上保存到日志文件
            'level': 'INFO', 
            'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,根據文件大小自動切
            'filename': os.path.join(LOG_DIR,"info.log"),  # 日志文件
            'maxBytes': 1024 * 1024 * 10,  # 日志大小 10M
            'backupCount': 2,  # 備份數為 2
            'formatter': 'simple', # 簡單格式
            'encoding': 'utf-8',
        },
        "console": { # 打印到終端console
            "level": "DEBUG",
            "class": "logging.StreamHandler",
            "formatter": "verbose",
        },
    },
    "root": {"level": "INFO", "handlers": ["console"]},
    "loggers": {
        "django.request": { # Django的request發生error會自動記錄
            "handlers": ["mail_admins"],
            "level": "ERROR",
            "propagate": True,  # 向不向更高級別的logger傳遞
        },
        "django.security.DisallowedHost": { # 對于不在 ALLOWED_HOSTS 中的請求不發送報錯郵件
            "level": "ERROR",
            "handlers": ["console", "mail_admins"],
            "propagate": True,
        },
    },
}

以上就是Django項目如何正確配置日志(logging)的詳細內容,更多關于Django 正確配置日志的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python Django框架實現應用添加logging日志操作示例
  • Django 使用logging打印日志的實例
  • Django日志模塊logging的配置詳解
  • Django日志及中間件模塊應用案例
  • django實現日志按日期分割
  • django日志默認打印request請求信息的方法示例
  • Django在Model保存前記錄日志實例
  • 如何在django中添加日志功能
  • 基于Django實現日志記錄報錯信息
  • Django多進程滾動日志問題解決方案
  • Django使用uwsgi部署時的配置以及django日志文件的處理方法

標簽:三沙 欽州 景德鎮 宿遷 黃山 臺灣 喀什 濟南

巨人網絡通訊聲明:本文標題《Django項目如何正確配置日志(logging)》,本文關鍵詞  Django,項目,如何,正確,配置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Django項目如何正確配置日志(logging)》相關的同類信息!
  • 本頁收集關于Django項目如何正確配置日志(logging)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品捆绑美女sm三区| 在线综合视频播放| 国产精品一区二区x88av| 91精品婷婷国产综合久久竹菊| 丁香五精品蜜臀久久久久99网站 | 国产精品自产自拍| 九色综合国产一区二区三区| 奇米影视在线99精品| 天天综合网 天天综合色| 洋洋成人永久网站入口| 亚洲一区二区在线播放相泽| 亚洲亚洲精品在线观看| 亚洲精品五月天| 一区二区三区免费| 欧美a级理论片| 国产一区二区剧情av在线| 国产一区 二区| av成人免费在线观看| 欧美视频在线一区| 久久精品水蜜桃av综合天堂| 成人性生交大片| 色综合一个色综合| 8x8x8国产精品| 国产视频一区二区在线| 亚洲同性同志一二三专区| 午夜久久福利影院| 视频一区在线播放| 极品美女销魂一区二区三区| 91网上在线视频| 精品国产电影一区二区| 一区二区三区鲁丝不卡| 国产白丝网站精品污在线入口| 99精品热视频| 精品蜜桃在线看| 亚洲一区二区精品视频| 国产成人自拍网| 欧美老女人第四色| 久久久蜜桃精品| 亚洲欧美在线高清| 国产在线一区二区综合免费视频| 99久久99精品久久久久久| 欧美日韩夫妻久久| 国产精品初高中害羞小美女文| 亚洲地区一二三色| 亚洲另类春色国产| 成人免费视频免费观看| 欧美久久久久免费| 亚洲自拍偷拍九九九| 成人激情午夜影院| 国产精品福利在线播放| 99天天综合性| 亚洲免费观看高清完整版在线 | 国产精品88av| 国产色产综合产在线视频| 久久99国产精品尤物| 久久这里只有精品视频网| 日韩中文字幕区一区有砖一区| 国产99精品在线观看| 久久精品一区二区三区四区| 99国产精品99久久久久久| 日韩美女天天操| 国产不卡在线视频| 亚洲乱码国产乱码精品精小说 | 日本一区二区免费在线观看视频| 精品在线亚洲视频| 亚洲免费在线视频| 久久影视一区二区| 欧美专区日韩专区| 丁香婷婷综合激情五月色| 日韩影院精彩在线| 久久久综合九色合综国产精品| 国产一区二区久久| 日本三级韩国三级欧美三级| 亚洲综合一二三区| 国产精品久久久久精k8| 久久免费偷拍视频| 2020国产精品久久精品美国| 91精品国产欧美一区二区18 | 亚洲视频网在线直播| 亚洲欧洲成人精品av97| 精品国产乱码久久久久久免费| 欧美三级蜜桃2在线观看| 婷婷六月综合网| 日韩精品一二三区| 久久99热狠狠色一区二区| 免费成人在线观看| 精品在线视频一区| 不卡视频在线观看| 北条麻妃国产九九精品视频| 91麻豆免费在线观看| 色天天综合久久久久综合片| 日韩影视精彩在线| 日本特黄久久久高潮| 国产宾馆实践打屁股91| 99久久精品国产观看| 欧美精品黑人性xxxx| 精品欧美一区二区在线观看| 国产区在线观看成人精品| 国产精品久久久久影院老司| 亚洲激情综合网| 久久99精品国产麻豆婷婷 | 欧美理论电影在线| 亚洲精品在线免费观看视频| 国产精品素人一区二区| 一区二区三区电影在线播| 麻豆一区二区三| 亚洲一二三四在线观看| 国产乱码精品一区二区三| 色国产综合视频| 亚洲国产精品成人综合| 日韩av二区在线播放| 99久久精品国产观看| 欧美国产成人在线| 精品一区二区在线视频| 欧美无砖砖区免费| 亚洲伦在线观看| 国产超碰在线一区| 日本一区二区视频在线观看| 欧美一区三区二区| 一区二区三区精品在线| 日韩高清国产一区在线| 欧美在线播放高清精品| 亚洲欧美在线高清| 一本久道中文字幕精品亚洲嫩| 国产精品无遮挡| 国产成人av电影在线| 久久久久久久久久久黄色| 日本在线不卡视频| 成人在线视频一区| 久久久精品人体av艺术| 国产自产2019最新不卡| 欧美一级日韩免费不卡| 亚洲一区在线电影| 欧美午夜电影网| 自拍偷在线精品自拍偷无码专区 | 亚洲国产一二三| 91免费看`日韩一区二区| 1区2区3区精品视频| 欧美在线观看一二区| 一区二区激情视频| 欧美系列亚洲系列| 久久久精品天堂| 日本vs亚洲vs韩国一区三区二区| 欧美色精品天天在线观看视频| 婷婷丁香久久五月婷婷| 精品一区二区成人精品| 国产精品色哟哟网站| 日日骚欧美日韩| 粗大黑人巨茎大战欧美成人| 99国产精品视频免费观看| 五月综合激情婷婷六月色窝| 日韩欧美电影一二三| 国产酒店精品激情| 五月婷婷久久丁香| 久久只精品国产| av在线播放一区二区三区| 亚洲国产精品一区二区久久 | 国产一区不卡视频| 国产精品毛片无遮挡高清| 日本道免费精品一区二区三区| 亚洲一区二区影院| 自拍偷在线精品自拍偷无码专区| 欧美亚洲国产一区二区三区va | 国产成人在线视频网址| 亚洲va天堂va国产va久| 亚洲乱码中文字幕| 日本一区二区不卡视频| 欧美成人高清电影在线| 日韩一区二区三区四区五区六区| www.欧美精品一二区| 激情伊人五月天久久综合| 国产精品激情偷乱一区二区∴| 午夜在线电影亚洲一区| 日韩视频在线你懂得| 在线一区二区视频| 91社区在线播放| 成人av免费网站| 色香蕉久久蜜桃| k8久久久一区二区三区| 国产91精品免费| 91在线码无精品| 三级亚洲高清视频| 亚洲mv在线观看| 亚洲欧美另类在线| 亚洲少妇最新在线视频| 国产精品久久久久桃色tv| 国产精品色婷婷久久58| 亚洲一区在线播放| 日本成人在线网站| 亚洲高清视频的网址| 精品亚洲成a人在线观看| 精品一区二区三区免费观看| 手机精品视频在线观看| 国产+成+人+亚洲欧洲自线| 国产91在线观看丝袜| 99久久综合色| 久久影院午夜论| 一区二区三区四区高清精品免费观看 | 亚洲午夜激情网站| 成人丝袜18视频在线观看|