python學習筆記之日誌使用

2021-10-01 09:41:16 字數 2551 閱讀 2680

在專案開發時,我們總是離不開日誌。只有我們多記一些日誌,在程式出現意想不到的問題時,才能第一時間準確的排查,並且可以檢視程式的一些資訊。

在python中,日誌功能一般使用logging模組。如何有效的進行日誌的設定,每個人都有自己的想法。在網路上看見使用字典進行日誌的一些配置,這種風格我很喜歡,特記錄在此。

import os

import logging.config #不能只匯入logging

base_dir=os.path.dirname(os.path.dirname(__file__)

)# db_path=os.path.join(base_dir,'db')

# db_path=r'%sdb' %base_dir

# 定義日誌檔案的路徑

log_path=os.path.join(base_dir,

'log'

,'access.log'

)log_path=r'%slogaccess.log'

%base_dir

boss_log_path=r'%slogboss.log'

%base_dir

# 定義三種日誌輸出格式 開始

standard_format =

'[%(asctime)s][%(threadname)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d][%(levelname)s][%(message)s]'

#其中name為getlogger指定的名字

******_format =

'[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'

id_******_format =

'[%(levelname)s][%(asctime)s] %(message)s'

# 定義日誌輸出格式 結束

logfile_dir = os.path.dirname(os.path.abspath(__file__)

)# log檔案的目錄

logfile_name =

'all2.log'

# log檔名

# 如果不存在定義的日誌目錄就建立乙個

ifnot os.path.isdir(logfile_dir)

: os.mkdir(logfile_dir)

# log檔案的全路徑

logfile_path = os.path.join(logfile_dir, logfile_name)

# log配置字典

logging_dic =

,'******':,

'id_******':,

},# 過濾

'filters':,

# jango此處不同

'handlers':,

#列印到檔案的日誌,收集info及以上的日誌

'access':,

#列印到檔案的日誌,收集error及以上的日誌

'boss':,

},# logger例項

'loggers':,

# logging.getlogger(__name__)拿到的logger配置

# 這樣我們再取logger物件時logging.getlogger(__name__),不同的檔案__name__不同,這保證了列印日誌時標識資訊不同,

# 但是拿著該名字去loggers裡找key名時卻發現找不到,於是預設使用key=''的配置},

}def

load_my_logging_cfg()

: logging.config.dictconfig(logging_dic)

# 匯入上面定義的logging配置

logger = logging.getlogger(__name__)

# 生成乙個log例項

logger.info(

'it works!'

)# 記錄該檔案的執行狀態

if __name__ ==

'__main__'

: load_my_logging_cfg(

)#從common.py引用,要傳入name,且有返回log例項

# import logging.config

# import logging

# from conf import setting

# def get_logger(name):

#logging.config.dictconfig(setting.logging_dic) # 匯入上面定義的logging配置

#l1=logging.getlogger(name)

#return l1

#src.py

# logger1 = common.get_logger('檢視餘額')

# logger1.debug( dic_user_check['money'] )

參考:python 之 logger日誌 字典配置檔案

springboot學習筆記之日誌

日誌 springboot預設日誌級別 info spring配置檔案中的logging.file和logging.path的區別 如果專案目錄為 d develop idea workspace project,則在windows情況下指定日誌logging.file為 logs info.log...

python之日誌配置

日誌 日誌是記錄軟體執行狀態的一種方法,對於軟體的除錯等工作有極大作用。通常我們想將軟體的執行狀態呈現出來,比如輸出到螢幕上,或者寫到檔案中,或者發到網路上等等,這時就需要有我們自己的日誌記錄。在python中的logging日誌庫設計的非常好,它可以幫助我們完成相應的日誌記錄設計。對於部分人來說l...

python之日誌模組

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