規範目錄,常用模組之日誌模組

2022-04-12 18:51:41 字數 2095 閱讀 6564

1.規範目錄結構

logging time random os

logging 日誌模組

什麼是日誌

就是生活中的日記 用於記錄什麼時間發生了什麼事情

為什麼要記

就是為了在以後記錄程式出現問題的時候,能夠通過日誌來找到問題的原因

怎麼記日誌

可以自己實現

當然有功能更強大的logging模組

import logging

logging.debug('debug')

logging.info('info')

logging.warning('warning')

logging.error('error')

logging.critical('critical')

logging模組將日誌分為了五種等級

為什麼要分級別?

為了在後期檢視日誌時候方便定位

logging的預設縣市級別為warning,低於warning級別的都不會被顯示

預設的輸出位置是終端

預設的輸出格式 warning(級別):root(日誌生成器的名字):warning(輸出的日誌訊息)

修改預設的行為

日誌模組中的四種角色

1.logger 日誌生成器 生成一條日誌 可以設定生成日誌的級別

2.filter 日誌的過濾器 對logger生成的日誌進行過濾

3.formatter 處理格式的 設定日誌的輸出格式

4.handler 處理器 最終負責將日誌輸出到指定的位置

handler的級別若低於生成器是沒有意義的

自定義日誌生成器

可以為生成器指定名字 是因為 可以存在多個生成器

logger=logging.getlogger('logger1')

設定日誌級別

logging模組內部使用整數區分級別

此處可以直接寫對應整數,但建議寫常量

logger.setlevel(logging.warning)

logger.warning('這是乙個警告資訊')

建立乙個處理器

handler=logging.filehandler('test.log','a',encoding='utf-8')

fmt=logging.formatter("%(asctime)s - %(name)s -%(filename)s - %(message)s")

handler.setformatter(fmt)

將handler與生成器繫結

可以為乙個生成器指定多個處理器

logger.addhandler(handler)

import logging

1.獲取生成器

logger=logging.getlogger('mylogger')

logger.setlevel(10)

2.格式處理器

fmt=logging.formatter('%(levelname)s %(asctime)s %(message)s')

3.建立handler處理器

handler=logging.filehandler('test2.log','a',encoding='utf-8')

可以繫結多個handler

streamhandler用於輸出到終端

handler2=logging.streamhandler()

4.將handler與格式處理器繫結

handler.setformatter(fmt)

handler2.setformatter(fmt)

5.把handler生成器繫結

logger.addhandler(handler)

logger.addhandler(handler2)

name = "bgon"

logger.debug(name)

規範目錄結構,常用模組之日誌模組

1.規範目錄結構 bin 存放執行檔案 conf 存放配置檔案 core 核心業務邏輯 db 存放資料處理相關 lib 公共 和第三方的模組 log 日誌 readme 是乙個文字檔案,用於描述應用程式 1.使用規範目錄結構的好處 是專案結構更清晰 提高可讀性 規範目錄結構不是固定,可以根據實際需求...

python之日誌模組

import logging logging.basicconfig 1.日誌輸出位置 a.中端b.檔案 filename d pyt 學習 python基礎操作 access.log 不指定,預設列印到中端 2.如何自定義日誌格式 format asctime s name s levelname...

beego框架之日誌模組

beego框架之日誌模組預設支援4種記錄方式 1.終端輸出 console 這種方式一般用在開發環境下面,方便除錯。2.本地檔案 file 這種方式一般用來儲存常規日誌,為生產環境中常用的方式。3.網路方式 network 這種方式可以用來將日誌傳送到指定伺服器,一般可以用來根據日誌觸發事件等。4....