婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Django項(xiàng)目如何正確配置日志(logging)

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

熱門(mén)標(biāo)簽:遼寧400電話辦理多少錢(qián) 外呼不封號(hào)系統(tǒng) 電信營(yíng)業(yè)廳400電話申請(qǐng) 溫州旅游地圖標(biāo)注 悟空智電銷機(jī)器人6 蘇州電銷機(jī)器人十大排行榜 幫人做地圖標(biāo)注收費(fèi)算詐騙嗎 江蘇房產(chǎn)電銷機(jī)器人廠家 荊州云電銷機(jī)器人供應(yīng)商

當(dāng)Django項(xiàng)目正式部署上線后,我們需要設(shè)置DEBUG = False。這時(shí)開(kāi)發(fā)者應(yīng)怎樣檢查Django程序在生產(chǎn)環(huán)境運(yùn)行時(shí)有什么異?;蝈e(cuò)誤呢?答案就是日志(logging)。在生產(chǎn)環(huán)境中,Django默認(rèn)是不會(huì)在服務(wù)器上自動(dòng)生成log文件的,即使程序出現(xiàn)error級(jí)別的故障也不會(huì)通知管理員。本文將教你如何在Django項(xiàng)目中正確配置日志(logging),讓Django生成log日志文件,并在程序運(yùn)行發(fā)生error級(jí)別故障時(shí)通知管理員。

日志基礎(chǔ)知識(shí)

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

  • 事件發(fā)生時(shí)間
  • 事件發(fā)生位置
  • 事件的嚴(yán)重程度--日志級(jí)別
  • 事件內(nèi)容

日志的級(jí)別又分為:

  • DEBUG:用于調(diào)試目的的低級(jí)系統(tǒng)信息
  • INFO:一般系統(tǒng)信息
  • WARNING:描述已發(fā)生的小問(wèn)題的信息。
  • ERROR:描述已發(fā)生的主要問(wèn)題的信息。
  • CRITICAL:描述已發(fā)生的嚴(yán)重問(wèn)題的信息。

在Django項(xiàng)目中,我們可以針對(duì)日志的不同級(jí)別設(shè)置不同的處理方式。比如INFO級(jí)別及以上的日志我們寫(xiě)入到log文件里保存,Error級(jí)別及以上的日志我們直接通過(guò)郵件發(fā)送給系統(tǒng)管理員。

Django的日志模塊

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

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

一個(gè)logger記錄儀的例子如下所示。當(dāng)程序運(yùn)行出現(xiàn)錯(cuò)誤時(shí),它生成了一條級(jí)別為error的日志信息。這條記錄產(chǎn)生后就會(huì)交由Handler處理。

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

當(dāng)Debug=True時(shí),日志信息默認(rèn)在console輸出?,F(xiàn)在我們還需要在django配置文件里配置日志(logging)相關(guān)內(nèi)容,使得當(dāng)Debug=False時(shí),日志信息會(huì)輸出到日志文件里或發(fā)送給系統(tǒng)管理員。

settings.py推薦日志配置信息

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

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

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

以上就是Django項(xiàng)目如何正確配置日志(logging)的詳細(xì)內(nèi)容,更多關(guān)于Django 正確配置日志的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作示例
  • Django 使用logging打印日志的實(shí)例
  • Django日志模塊logging的配置詳解
  • Django日志及中間件模塊應(yīng)用案例
  • django實(shí)現(xiàn)日志按日期分割
  • django日志默認(rèn)打印request請(qǐng)求信息的方法示例
  • Django在Model保存前記錄日志實(shí)例
  • 如何在django中添加日志功能
  • 基于Django實(shí)現(xiàn)日志記錄報(bào)錯(cuò)信息
  • Django多進(jìn)程滾動(dòng)日志問(wèn)題解決方案
  • Django使用uwsgi部署時(shí)的配置以及django日志文件的處理方法

標(biāo)簽:三沙 欽州 景德鎮(zhèn) 宿遷 黃山 臺(tái)灣 喀什 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Django項(xiàng)目如何正確配置日志(logging)》,本文關(guān)鍵詞  Django,項(xiàng)目,如何,正確,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Django項(xiàng)目如何正確配置日志(logging)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Django項(xiàng)目如何正確配置日志(logging)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日本在线观看| 成人视屏免费看| k8久久久一区二区三区| 亚洲成年人影院| 欧美激情资源网| 欧美日韩精品高清| 免费黄网站欧美| 日韩一区二区三区在线| 免费成人av在线| 96av麻豆蜜桃一区二区| 久久久久久久久久电影| 99久久er热在这里只有精品15| eeuss影院一区二区三区| 欧美日韩另类国产亚洲欧美一级| 成人sese在线| 99久久精品国产观看| 欧美精品在线一区二区| 国产欧美精品区一区二区三区| 亚洲精品免费在线| 在线不卡一区二区| 在线日韩一区二区| 亚洲欧美日韩在线| 亚洲精品免费在线观看| 亚洲最大成人网4388xx| 欧美在线免费视屏| 久久99精品久久久久久| av在线不卡电影| 精品国产免费一区二区三区四区| 国产精品二三区| 国产麻豆精品久久一二三| 一本大道综合伊人精品热热| 一区二区三区免费在线观看| 国产.精品.日韩.另类.中文.在线.播放| 欧美剧情电影在线观看完整版免费励志电影 | 欧美一区二区网站| 国产精品久久久久影院亚瑟| 福利一区福利二区| 欧美精品一区二区高清在线观看 | 欧美性大战久久| 久久久久久97三级| 亚洲美女偷拍久久| 成人va在线观看| 一级精品视频在线观看宜春院| 一区二区三区精品视频| 国产麻豆视频一区| 日韩欧美在线不卡| 亚洲一区二区视频在线观看| 国产精品69毛片高清亚洲| 欧美日韩国产电影| 日韩毛片一二三区| www.久久精品| 国产欧美日韩精品在线| 日韩欧美中文一区| 成人av网站免费| 日本一区中文字幕| 精品国产第一区二区三区观看体验 | 久久精品国产精品亚洲综合| 日本一区二区三区在线观看| 奇米色777欧美一区二区| 久久美女艺术照精彩视频福利播放| 3d动漫精品啪啪1区2区免费| 亚洲综合视频网| 日本久久精品电影| 一个色妞综合视频在线观看| 久久se这里有精品| 国产亚洲婷婷免费| 粉嫩av亚洲一区二区图片| 国产午夜精品久久| 亚洲精品在线网站| 欧美aaaaaa午夜精品| 日韩一区二区精品| 午夜a成v人精品| 日韩欧美国产一区二区三区 | 国产精品性做久久久久久| 精品免费99久久| 成人h版在线观看| 亚洲欧洲日产国码二区| 在线免费观看日本欧美| 午夜影院在线观看欧美| 欧美日韩高清不卡| 夜夜嗨av一区二区三区中文字幕| 91同城在线观看| 日韩理论片在线| 91行情网站电视在线观看高清版| 亚洲一区二区三区四区五区黄| 91麻豆精品国产91久久久资源速度| 麻豆成人91精品二区三区| 国产三级精品视频| 91国偷自产一区二区开放时间 | 奇米精品一区二区三区在线观看| 精品区一区二区| 国产综合久久久久影院| 综合自拍亚洲综合图不卡区| 欧美日韩国产高清一区二区| 久久成人免费网站| 91精品免费观看| 337p亚洲精品色噜噜噜| 精品精品国产高清a毛片牛牛| 欧美r级电影在线观看| 久久久国产午夜精品| 久久久国际精品| 一区二区久久久久久| 美女视频一区在线观看| av中文字幕不卡| 精品国产91乱码一区二区三区 | 欧美视频一二三区| 色先锋aa成人| 国产精品 欧美精品| 丰满白嫩尤物一区二区| 99国产精品99久久久久久| 亚洲乱码精品一二三四区日韩在线| 国产成人夜色高潮福利影视| 国产乱理伦片在线观看夜一区| 国产美女在线精品| 亚洲国产精品欧美一二99| 日韩一区二区三区四区| 国产一区不卡在线| 亚洲欧美色一区| 日韩亚洲欧美在线| 成人午夜电影网站| 奇米一区二区三区av| 欧美激情艳妇裸体舞| 成人免费视频免费观看| 欧美电影一区二区三区| 亚洲国产综合人成综合网站| 成人性生交大合| 久久久久国产一区二区三区四区| 午夜视频在线观看一区二区三区| 日韩不卡一二三区| 欧美一区二区成人| 色综合久久天天| 亚洲18女电影在线观看| 日韩免费视频一区二区| 久久精品国产一区二区三区免费看| 色丁香久综合在线久综合在线观看| 久久五月婷婷丁香社区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色菇凉天天综合网| 成人精品免费视频| 国产一区二区三区| 久久超碰97人人做人人爱| 日韩精品成人一区二区三区| 污片在线观看一区二区| 午夜精品一区二区三区电影天堂| 亚洲国产精品麻豆| 亚洲一区二区三区四区五区中文 | 国产精品久久二区二区| 国产日产欧产精品推荐色| 国产亚洲视频系列| 国产精品美女久久久久久2018| 欧美激情综合网| 国产精品另类一区| 日韩一区欧美一区| 欧美一二三四在线| 麻豆国产一区二区| 亚洲精品在线电影| 欧美精品自拍偷拍| 日韩欧美激情四射| 欧美精品一区二区三区在线| 99国产欧美另类久久久精品| 丁香啪啪综合成人亚洲小说| 久久国产尿小便嘘嘘尿| 激情五月播播久久久精品| 狠狠色伊人亚洲综合成人| 日韩va亚洲va欧美va久久| 蜜桃视频第一区免费观看| 国产一区福利在线| caoporn国产精品| 在线影院国内精品| 人人精品人人爱| 国产伦精品一区二区三区免费| 国产一区 二区| 国产精选一区二区三区| 国产乱人伦偷精品视频不卡| 中文字幕欧美日韩一区| 日韩电影在线一区二区| 亚洲v中文字幕| 国产美女在线观看一区| 成人av免费观看| 欧美一级一级性生活免费录像| 石原莉奈在线亚洲二区| 韩国在线一区二区| 欧美性感一区二区三区| 精品三级av在线| 欧美一区二区久久| 成人午夜伦理影院| 在线日韩国产精品| 国产精品每日更新| 国产成人精品一区二| 91福利精品视频| 欧美日韩午夜在线| 91精品国产综合久久久久| 五月天欧美精品| 久久国产精品免费| 成人黄色免费短视频| 国产精品久久久久7777按摩 | 欧美日韩中字一区| 欧美日韩日本视频| 久久网站最新地址| 亚洲最大成人综合|