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