python logging記錄日志的方式


python的logging模塊提供了標准的日志接口,可以通過它存儲各種格式的日志,日志級別等級:critical > error > warning > info > debug

import logging

# 初始化日志配置

logging.basicConfig(

    # 日志級別,logging.DEBUG,logging.ERROR

    level = logging.INFO,  

    # 日志格式

    # 時間、代碼所在文件名、代碼行號、日志級別名字、日志信息

    format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

    # 打印日志的時間

    datefmt = '%a, %Y-%m-%d %H:%M:%S',

    # 日志文件存放的目錄(目錄必須存在)及日志文件名

    filename = 'e:/BddDataDriveRreport.log',

    # 打開日志文件的方式

    filemode = 'w'

)


logging.debug('test debug')
logging.info('test info')

logging.warning('test warning')

logging.error('test error')
logging.critical('test critical')


文件輸出結果:
Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:36] INFO test info
Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:38] WARNING test warning
Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:40] ERROR test error
Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:41] CRITICAL test critical

 2、一個簡單的程序可調用的 logger生成方法:

 

#參考其它文章
import logging,os

rdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #獲取上級目錄的絕對路徑
log_dir = rdir + '/log/record.log'
def get_logger():
    fh = logging.FileHandler(log_dir,encoding='utf-8') #創建一個文件流並設置編碼utf8
    logger = logging.getLogger() #獲得一個logger對象,默認是root
    logger.setLevel(logging.DEBUG)  #設置最低等級debug
    fm = logging.Formatter("%(asctime)s --- %(message)s")  #設置日志格式
    logger.addHandler(fh) #把文件流添加進來,流向寫入到文件
    fh.setFormatter(fm) #把文件流添加寫入格式
    return logger

 


免責聲明!

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



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