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....