python logger理解


import logging
#進行基本的日志配置

logging.basicConfig(filename = 'access.log',
format = '%(asctime)s - %(name)s - %(levelname)s -%(module)s %(message)s',
detefmt = '%Y - %m - %d %H:%M:%S %p'
level = 10,

日志級別遵循原則:自下而上進行匹配 #debug -》info ——》warning——》error-》critical
logging.debug("調試信息")#10
logging.info("正常信息")#20
logging.warning('不好啊着火啦') #30
logging.error('報錯信息') #40
logging.critical('嚴重錯誤信息')#50

#問題:
1、沒有指定日志級別
2、沒有指定日志級別
3、只能往屏幕打印,沒有寫入文件

#新問題
1、不能指定字符串編碼
2、只能往文件中打印

import logging
#logging 模塊包含四種角色:logger,filter,formatter, handler
#1、logger:負責產生日志信息
logger1 = logging.getLogger('交易日志')
#logger2 = logging.getLogger('用戶相關')

2、filter:負責篩選日志

3、formatter:控制日志輸出格式

formatter1 = logging.Formatter(
fmt = '%(asctime):%(name)s:%(levelname)S:%(message)S',
datefmt = '%Y-%m-%d %X'
)

formatter2=logging.Formatter(
fmt = '%(asctime)s:%(message)s',
datefmt = '%Y-%m-%d %X'


#4、handler:負責日志輸出的目標

h1 = logging.FileHandler(filename="al.log",encoding = 'utf-8')
h2 = logging.FileHandler(filename='a2.log',encoding = "utf-8")

sm = logging.StreamHandler()

5、綁定logger對象與handler對象
logger1.addHandler(h1)
logger1.addHandler(h2)
logger1.addHandler(sm)

6、綁定handler對象與formatter對象
h1、setFormatter(formatter)
h2、setFormatter(formatter)
sm.setFormatter(formatter2)

#7、設置日志級別:可以在兩個關卡進行設置logger與handler
logger1.setLevel(10)
h1.setLevel(10)
h2.setLevel(10)
sm.setLevel(10)

logger1.info('Egon借給李傑100w')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM