成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

5分鐘教你學(xué)會(huì)Django系統(tǒng)錯(cuò)誤監(jiān)控

Aldous / 1786人閱讀

摘要:一監(jiān)控所有的請(qǐng)求如何實(shí)現(xiàn)系統(tǒng)監(jiān)控,自動(dòng)發(fā)送錯(cuò)誤日志的郵件呢只需配置配置文件即可。設(shè)置發(fā)送郵件配置信息郵件會(huì)發(fā)送到設(shè)定的郵件列表中。

一、監(jiān)控所有的request請(qǐng)求

如何實(shí)現(xiàn)系統(tǒng)監(jiān)控,自動(dòng)發(fā)送錯(cuò)誤日志的郵件呢?

只需配置配置settings文件即可。

1.設(shè)置發(fā)送郵件配置信息

郵件會(huì)發(fā)送到ADMINS設(shè)定的郵件列表中。

SERVER_EMAIL ="[email protected]"

DEFAULT_FROM_EMAIL ="[email protected]"

ADMINS = (("receiver","[email protected]"),)

EMAIL_HOST ="smtp.exmail.qq.com"

EMAIL_HOST_USER ="[email protected]"

EMAIL_HOST_PASSWORD ="123456"

EMAIL_BACKEND ="django.core.mail.backends.smtp.EmailBackend"
2.配置LOGGING

1)配置mail_admin的handler

level為日志級(jí)別

django.utils.log.AdminEmailHandler為django處理系統(tǒng)日志發(fā)送郵件的handler

在沒(méi)有配置filter參數(shù)情況下,默認(rèn)發(fā)送系統(tǒng)5XX狀態(tài)的錯(cuò)誤日志

"handlers": {

    "mail_admin": {

    "level":"ERROR",

    "class":"django.utils.log.AdminEmailHandler",

    "include_html":False,

    }

}

2)配置django.request模塊的logger
將django的request模塊配置如上的mail_admin handler

"loggers": {

    "django.request": {

    "handlers": ["default","mail_admin"],

    "propagate":True,

    "level":"ERROR",

    },

}

??在這里還是要推薦下我自己建的Python開(kāi)發(fā)學(xué)習(xí)群:725479218,群里都是學(xué)Python開(kāi)發(fā)的,如果你正在學(xué)習(xí)Python ,小編歡迎你加入,大家都是軟件開(kāi)發(fā)黨,不定期分享干貨(只有Python軟件開(kāi)發(fā)相關(guān)的),包括我自己整理的一份2018最新的Python進(jìn)階資料和高級(jí)開(kāi)發(fā)教程,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴

二、監(jiān)控非request請(qǐng)求

如何監(jiān)控例如系統(tǒng)的定時(shí)任務(wù)等非用戶發(fā)起的功能模塊,我們可以自定義一個(gè)decorator來(lái)解決這個(gè)問(wèn)題。

utils.send_exception_email(email_list,title,exc)為發(fā)送郵件的方法,可以自己實(shí)現(xiàn),非常簡(jiǎn)單

def decorator_error_monitor(title):

    def wrap(f):

        def wrapped_f(*args,**kwargs):

            try:

                result = f(*args,**kwargs)

                return result

           except:

               exc = traceback.format_exc()

               utils.send_exception_email(email_list,title,exc)

               raise Exception(exc)

            return wrapped_f

        return wrap

對(duì)需要監(jiān)控的方法使用decorator

@decorator_error_monitor("清算錯(cuò)誤")

def do_settlement(users):

    for user in users:

        process_settlement_for_one_user(user)

效果如下

以上監(jiān)控方法,簡(jiǎn)單實(shí)用,無(wú)需開(kāi)發(fā)額外的日志監(jiān)控系統(tǒng),可以在第一時(shí)間發(fā)現(xiàn)系統(tǒng)的問(wèn)題,并得知系統(tǒng)的錯(cuò)誤日志,幫助快速的定位問(wèn)題。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41875.html

相關(guān)文章

  • 蠎周刊 2015 年度最贊

    摘要:蠎周刊年度最贊親俺們又來(lái)回顧又一個(gè)偉大的年份兒包去年最受歡迎的文章和項(xiàng)目如果你錯(cuò)過(guò)了幾期就這一期不會(huì)丟失最好的嗯哼還為你和你的準(zhǔn)備了一批紀(jì)念裇從這兒獲取任何時(shí)候如果想分享好物給大家在這兒提交喜歡我們收集的任何意見(jiàn)建議通過(guò)來(lái)吧原文 Title: 蠎周刊 2015 年度最贊Date: 2016-01-09 Tags: Weekly,Pycoder,Zh Slug: issue-198-to...

    young.li 評(píng)論0 收藏0
  • 教你如何打造出一個(gè)前端可視化監(jiān)控系統(tǒng)

    摘要:擼起袖子,教你干一個(gè)前端監(jiān)控系統(tǒng)還記得在我上一家公司中,某一大佬做了一個(gè)監(jiān)控系統(tǒng),牛逼哄哄,挺想研究他到底是怎么搞出來(lái)的。開(kāi)始基于以上我們就開(kāi)始搭建一個(gè)前端監(jiān)簡(jiǎn)易控平臺(tái)。收集信息要做監(jiān)控系統(tǒng),首先我們得有一個(gè)對(duì)象。 擼起袖子,教你干一個(gè)前端監(jiān)控系統(tǒng) 還記得在我上一家公司中,某一大佬做了一個(gè)監(jiān)控系統(tǒng),牛逼哄哄,挺想研究他到底是怎么搞出來(lái)的。當(dāng)然我們也不是拍拍腦袋干活的人,總不能人家咋干我...

    Java_oldboy 評(píng)論0 收藏0
  • Django搭建個(gè)人博客:結(jié)束和開(kāi)始

    摘要:教程看到這里,你已經(jīng)學(xué)會(huì)如下內(nèi)容搭建開(kāi)發(fā)環(huán)境博文管理用戶管理發(fā)表評(píng)論若干小功能搭建簡(jiǎn)單的小博客,以上的功能夠用了。教程為了起步平緩,沒(méi)有展開(kāi)這方面的內(nèi)容。陌生人,祝你學(xué)業(yè)進(jìn)步事業(yè)有成歡迎常到杜賽的個(gè)人網(wǎng)站做客 教程看到這里,你已經(jīng)學(xué)會(huì)如下內(nèi)容: 搭建開(kāi)發(fā)環(huán)境 博文管理 用戶管理 發(fā)表評(píng)論 若干小功能 搭建簡(jiǎn)單的小博客,以上的功能夠用了。 相信你的志向不止于此。畢竟程序員面試個(gè)個(gè)造火...

    zqhxuyuan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<