溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在python中使用logbook日志模塊

發(fā)布時間:2021-03-18 15:55:32 來源:億速云 閱讀:358 作者:Leah 欄目:開發(fā)技術

本篇文章為大家展示了如何在python中使用logbook日志模塊,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1,安裝

pip install logbook

官方的使用文檔,這里

2,使用方法如下:

文件 logconf.py 初始化日志以及設置日志格式等參數(shù):

import sys
import os
import logbook
import logbook.more
def logFormate(record,handler):
  formate = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format(
    date = record.time,               # 日志時間
    level = record.level_name,            # 日志等級
    filename = os.path.split(record.filename)[-1],  # 文件名
    func_name = record.func_name,          # 函數(shù)名
    lineno = record.lineno,             # 行號
    msg = record.message               # 日志內(nèi)容
  )
  return formate
def initLogger(filename,fileLogFlag=True,stdOutFlag=False):
  LOG_DIR = os.path.join('log')
  if not os.path.exists(LOG_DIR):
    os.makedirs(LOG_DIR)
  logbook.set_datetime_format('local')
  logger = logbook.Logger(filename)
  logger.handlers = []
  if fileLogFlag:#日志輸出到文件
    logFile = logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % 'log'),date_format='%Y-%m-%d', bubble=True, encoding='utf-8')
    logFile.formatter = logFormate
    logger.handlers.append(logFile)
  if stdOutFlag:#日志打印到屏幕
    logStd = logbook.more.ColorizedStderrHandler(bubble=True)
    logStd.formatter = logFormate
    logger.handlers.append(logStd)
  return logger

1,該文件中l(wèi)ogFormate函數(shù)設置日志的輸出格式。

2,initLogger函數(shù)中fileLogFlag為日志寫入文件標示。

3,initLogger函數(shù)中stdOutFlag標示日志打印到終端標示。

上述參數(shù)可以根據(jù)實際的情況進行設置。

文件globalConf.py將logger定義為一個供其他所有模塊使用全局公共變量,因此單獨設置該文件,供其他文件引用。

import logconf
class ShareLogger:
 logger = logconf.initLogger('log.txt',True,True)
 
def getShareLogger():
 return ShareLogger.logger
def setShareLogger(logger):
 ShareLogger.logger = logger

文件test.py 為日志具體使用示例文件:

import sys
import os
import globalConf
global logger
logger = globalConf.getShareLogger()
if __name__ == "__main__":
 logger.info("this is info")
 logger.warning("this iswarning")
 logger.debug("this is debug")
 logger.critical("this is critical")

該文件中調(diào)用globalConf.py,獲取logger日志變量,根據(jù)不同的日志等級進行記錄。logbook模塊的日志等級說明,見這里。

logbook.CRITICAL     嚴重錯誤信息
logbook.ERROR       一般錯誤信息
logbook.WARNING     警告信息
logbook.INFO   正常的記錄信息
logbook.DEBUG  調(diào)試程序輸出的信息
logbook.NOTSET      正常的記錄信息

上述內(nèi)容就是如何在python中使用logbook日志模塊,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI