日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python日志配置文件解释_python 之 logger日志 字典配置文件

發(fā)布時間:2023/12/10 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python日志配置文件解释_python 之 logger日志 字典配置文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

importosimport logging.config #不能只導入logging

BASE_DIR=os.path.dirname(os.path.dirname(__file__))#DB_PATH=os.path.join(BASE_DIR,'db')#DB_PATH=r'%s\db' %BASE_DIR

#定義日志文件的路徑

LOG_PATH=os.path.join(BASE_DIR,'log','access.log')#LOG_PATH=r'%s\log\access.log' %BASE_DIR#BOSS_LOG_PATH=r'%s\log\boss.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指定的名字

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

#定義日志輸出格式 結(jié)束

logfile_dir= os.path.dirname(os.path.abspath(__file__)) #log文件的目錄

logfile_name = 'all2.log' #log文件名

#如果不存在定義的日志目錄就創(chuàng)建一個

if notos.path.isdir(logfile_dir):

os.mkdir(logfile_dir)#log文件的全路徑

logfile_path =os.path.join(logfile_dir, logfile_name)#log配置字典

LOGGING_DIC ={'version': 1,#禁用已經(jīng)存在的logger實例

'disable_existing_loggers': False,#定義日志 格式化的 工具

'formatters': {'standard': {'format': standard_format

},'simple': {'format': simple_format

},'id_simple': {'format': id_simple_format

},

},#過濾

'filters': {}, #jango此處不同

'handlers': {#打印到終端的日志

'stream': {'level': 'DEBUG','class': 'logging.StreamHandler', #打印到屏幕

'formatter': 'simple'},#打印到文件的日志,收集info及以上的日志

'access': {'level': 'DEBUG','class': 'logging.handlers.RotatingFileHandler', #保存到文件

'formatter': 'standard','filename': logfile_path, #日志文件路徑

'maxBytes': 1024*1024*5, #日志大小 5M

'backupCount': 5,'encoding': 'utf-8', #日志文件的編碼,再也不用擔心中文log亂碼了

},#打印到文件的日志,收集error及以上的日志

'boss': {'level': 'ERROR','class': 'logging.handlers.RotatingFileHandler', #保存到文件

'formatter': 'id_simple','filename': BOSS_LOG_PATH, #日志文件

#'maxBytes': 1024*1024*5, # 日志大小 5M

'maxBytes': 300, #日志大小 5M

'backupCount': 5,'encoding': 'utf-8', #日志文件的編碼,再也不用擔心中文log亂碼了

},

},#logger實例

'loggers': {#默認的logger應用如下配置

'': {'handlers': ['stream', 'access','boss'], #這里把上面定義的兩個handler都加上,即log數(shù)據(jù)既寫入文件又打印到屏幕

'level': 'DEBUG','propagate': True, #向上(更高level的logger)傳遞

},#logging.getLogger(__name__)拿到的logger配置

#這樣我們再取logger對象時logging.getLogger(__name__),不同的文件__name__不同,這保證了打印日志時標識信息不同,

#但是拿著該名字去loggers里找key名時卻發(fā)現(xiàn)找不到,于是默認使用key=''的配置

},

}defload_my_logging_cfg():

logging.config.dictConfig(LOGGING_DIC)#導入上面定義的logging配置

logger = logging.getLogger(__name__) #生成一個log實例

logger.info('It works!') #記錄該文件的運行狀態(tài)

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'] )

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的python日志配置文件解释_python 之 logger日志 字典配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。