Django的logging日志

logging模塊為應(yīng)用程序提供了靈活的手段記錄事件卡睦、錯誤器仗、警告和調(diào)試信息融涣。通過日志我們可以分析到錯誤在什么地方,有什么異常精钮。

一威鹿、logging概述

1.日志四個組件

a.loggers

用來配置用哪種handlers來處理日志。

b.filters

過濾loggers傳遞給handlers的信息轨香,加一些處理控制

c.handlers

用來處理信息

d.formatters

格式化忽你,配置打印日志格式,即將我們需要保存到日志文件中的信息統(tǒng)一格式化

2.日志記錄錯誤等級:

CRITICAL>ERROR>WARNING>INFO>DEBUG

a.CRITICAL:重大錯誤
b.ERROR:系統(tǒng)里有錯誤
c.WARNING:警告
d.INFO:正常打印日志
e.DEBUG:調(diào)試信息

3.format日志消息格式

QQ圖片20180503154235.jpg

4.記錄器

記錄器負(fù)責(zé)管理日志消息的默認(rèn)行為臂容,包括日志記錄級別科雳、輸出目標(biāo)位置、消息格式以及其它基本細(xì)節(jié)脓杉。

二炸渡、在django中實現(xiàn)日志功能

1.配置logging

在django中如何處理日志呢?django利用的是Python提供的logging模塊丽已,但django中要用logging蚌堵,還得有一定的配置規(guī)則,需要在setting中設(shè)置。

a.配置路徑吼畏,創(chuàng)建log文件夾
# 創(chuàng)建日志的路徑
LOG_PATH = os.path.join(BASE_DIR, 'log')
# 如果地址不存在督赤,則會自動創(chuàng)建log文件夾
if not os.path.isdir(LOG_PATH):
    os.mkdir(LOG_PATH)
b.配置四個組件
LOGGING = {
    # version 值只能為1
    'version': 1,
    # True 表示禁用loggers
    'disable_existing_loggers': False,

    # < 格式化 >
    'formatters': {
        # 可以設(shè)置多種格式,根據(jù)需要選擇保存的格式
        'default': {
            'format': '%(levelname)s %(funcName)s %(module)s %(asctime)s %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(module)s %(asctime)s %(message)s'
        }
    },

    # < 處理信息 >
    'handlers':{
        'stu_handlers': {
            'level': 'DEBUG',
            # 指定日志文件大小泻蚊,若超過指定的文件大小躲舌,會再生成一個新的日志文件保存日志信息
            'class': 'logging.handlers.RotatingFileHandler',
            # 指定文件大小
            # 1M=1024kb 1kb=1024b
            'maxBytes': 5 * 1024 * 1024,
            # 文件地址
            'filename': '%s/log.txt' % LOG_PATH,
            # 指定保存格式
            'formatter': 'default'
        },
        'uauth_handlers': {
            'level': 'DEBUG',
            # 若日志超過指定文件的大小,會再生成一個新的日志文件保存日志信息
            'class': 'logging.handlers.RotatingFileHandler',
            # 指定文件大小
            # 1M=1024kb 1kb=1024b
            'maxBytes': 5 * 1024 * 1024,
            # 文件地址
            'filename': '%s/uauth_log.txt' % LOG_PATH,
            # 指定保存格式
            'formatter': 'simple'
        }
    },


    'loggers': {
        'stu': {
            'handlers': ['stu_handlers'],
            'level': 'INFO'
        },
        'auth': {
            'handlers': ['uauth_handlers'],
            'level': 'INFO'
        }
    },

    'filters': {
        
    }
}

實例1

獲取學(xué)生信息時性雄,記錄log没卸。
生成指定格式日志文件的邏輯過程:
stu指定handler:stu_handlers
stu_handlers指定的保存文件filename:log.txt,保存格式formatter是default秒旋。

import logging

# 指定所用的logger
logger = logging.getLogger('stu')


def index(request):

    if request.method == 'GET':
        stus = Student.objects.all()
        logger.info('url:%s method:%s 獲取學(xué)生信息成功'% (request.path, request.method))
        return render(request, 'index.html', {'stus': stus})

保存到日志中的信息:


image.png

信息中的 INFO 表示調(diào)用logger類時的級別约计。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市迁筛,隨后出現(xiàn)的幾起案子煤蚌,更是在濱河造成了極大的恐慌,老刑警劉巖细卧,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尉桩,死亡現(xiàn)場離奇詭異,居然都是意外死亡贪庙,警方通過查閱死者的電腦和手機蜘犁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來止邮,“玉大人沽瘦,你說我怎么就攤上這事∨┘猓” “怎么了析恋?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盛卡。 經(jīng)常有香客問我助隧,道長,這世上最難降的妖魔是什么滑沧? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任并村,我火速辦了婚禮,結(jié)果婚禮上滓技,老公的妹妹穿的比我還像新娘哩牍。我一直安慰自己,他們只是感情好令漂,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布膝昆。 她就那樣靜靜地躺著丸边,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荚孵。 梳的紋絲不亂的頭發(fā)上妹窖,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機與錄音收叶,去河邊找鬼骄呼。 笑死,一個胖子當(dāng)著我的面吹牛判没,可吹牛的內(nèi)容都是我干的蜓萄。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼澄峰,長吁一口氣:“原來是場噩夢啊……” “哼嫉沽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起摊阀,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踪蹬,沒想到半個月后胞此,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡跃捣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年漱牵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疚漆。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡酣胀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娶聘,到底是詐尸還是另有隱情闻镶,我是刑警寧澤,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布丸升,位于F島的核電站铆农,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏狡耻。R本人自食惡果不足惜墩剖,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夷狰。 院中可真熱鬧岭皂,春花似錦、人聲如沸沼头。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至揉阎,卻和暖如春庄撮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背毙籽。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工洞斯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坑赡。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓烙如,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毅否。 傳聞我的和親對象是個殘疾皇子亚铁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容

  • From:Python之日志處理(logging模塊) - 云游道士 - 博客園 https://www.cnbl...
    vigny的先生閱讀 2,691評論 3 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)螟加,斷路器徘溢,智...
    卡卡羅2017閱讀 134,719評論 18 139
  • 本文首發(fā)于Gevin的博客 原文鏈接:Python 日志功能詳解 未經(jīng) Gevin 授權(quán),禁止轉(zhuǎn)載 軟件開發(fā)中通過...
    Gevin閱讀 4,924評論 1 24
  • 前言 在自動化測試實踐過程中捆探,必不可少的就是進行日志管理然爆,方便調(diào)試和生產(chǎn)問題追蹤,python提供了logg...
    苦葉子閱讀 823評論 0 0
  • 我也不知道自己是什么時候開始喜歡你的吧黍图,只記得那個時候自己應(yīng)該還和前任在一起曾雕,每次想到這個,也覺得自己挺渣的助被,還沒...
    隨筆丶閱讀 96評論 1 2