亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python的日志模塊

系統 1856 0
            
              '''
date:2019-06-28
autor:wangxc
功能:
1.寫日志功能,當沒有傳入日志寫入路徑時,他會將 本文件名.log 的日志文件存放到腳本同路徑下
    例子:腳本路徑在c:logger.py,那么生成的日志文件logger.log將會在c:下存在
2.可以傳入日志的級別,控制日志輸出的形式,如何配置日志輸出形式,可以看下面注釋
'''

import logging
import os,sys
from logging.handlers import RotatingFileHandler

'''
%(name)s  Logger的名字
%(levelno)s  數字形式的日志級別
%(levelname)s  文本形式的日志級別
%(pathname)s  調用日志輸出函數的模塊的完整路徑名,可能沒有
%(filename)s  調用日志輸出函數的模塊的文件名
%(module)s  調用日志輸出函數的模塊名
%(funcName)s  調用日志輸出函數的函數名
%(lineno)d 調用日志輸出函數的語句所在的代碼行
%(created)f 當前時間,用UNIX標準的表示時間的浮 點數表示
%(relativeCreated)d 輸出日志信息時的,自Logger創建以 來的毫秒數
%(asctime)s  字符串形式的當前時間。默認格式是 “2003-07-08 16:49:45,896”。逗號后面的是毫秒
%(thread)d 線程ID。可能沒有
%(threadName)s  線程名。可能沒有
%(process)d 進程ID。可能沒有
%(message)s  用戶輸出的消息
'''
#用字典保存日志級別 日志輸出的形式
format_dict = {
   1 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s - %(levelno)s - %(pathname)s - %(filename)s - %(module)s - %(funcName)s - %(lineno)d - %(thread)d - %(threadName)s - %(process)d'),
   2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
   3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
   4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
   5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
}

# 開發一個日志系統, 既要把日志輸出到控制臺, 還要寫入日志文件
class Logger():
    def __init__(self, logname, loglevel, logger="logger"):
        path = os.path.split(sys.argv[0])[0]
        filename = os.path.split(sys.argv[0])[-1]
        log_file = filename.split(".")[0] + ".log"
        #日志輸出具體路徑
        log_path = os.sep.join([path,log_file])

        # 創建一個logger
        self.logger = logging.getLogger(logger)
        #設置日志打印的級別
        #如果設置成ERROR,則只會打印ERROR日志信息
        #如果設置成INFO,則會打印出INFO和ERROR的日志信息
        #如果設置成DEBUG,則會打印ERROR,INFO和ERROR的日志信息
        self.logger.setLevel(logging.DEBUG)

        #判斷日志路徑,不存在創建
        if not os.path.exists(logname):
            os.makedirs(logname)

        # 創建一個handler,用于寫入日志文件
        #fh = logging.FileHandler(logname,mode='w',encoding='UTF-8')
        #fh.setLevel(logging.DEBUG)
        # 定義一個RotatingFileHandler,最多備份5個日志文件,每個日志文件最大10M
        fh = RotatingFileHandler(log_path,encoding='UTF-8', maxBytes=1 * 1024 * 1024, backupCount=5)
        #控制輸出到日志文件的日志級別
        fh.setLevel(logging.DEBUG)

        # 再創建一個handler,用于輸出到控制臺
        ch = logging.StreamHandler()
        #控制輸出到控制臺的日志級別
        ch.setLevel(logging.DEBUG)

        # 定義handler的輸出格式
        # formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        formatter = format_dict[int(loglevel)]
        #同時在控制臺和日志中輸出,可以按個人需求修改
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 給logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger

if __name__ == '__main__':
    #測試
    logger = Logger(logname='C:/Users/Administrator/Desktop/a/', loglevel=1, logger="ww").getlog()

    i = 0
    while(i<10):
        logger.error('this is error')
        logger.debug('this is debug')
        logger.info('this is info')
        i = i + 1

            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲视频手机在线观看 | 四虎国产精品免费久久影院 | 97在线观看免费 | 亚洲国产精品综合久久网络 | 久久vs国产综合色大全 | 老司机久久精品 | 99热久久国产精品一区 | 久久九九热视频 | 国产精品嫩草研究所永久网址 | 久久久一区二区三区 | 亚洲精品一区二区深夜福利 | 亚洲欧美日韩网站 | 国产不卡在线观看视频 | 农村苗族一级特黄a大片 | 欧美一级一极性活片免费观看 | 国产精品无码久久av | 国产最新精品 | 激情婷婷网| 日本自己的私人影院 | 精品成人免费播放国产片 | 免费性视频 | 亚洲精品tv久久久久 | 国产精品99久久99久久久看片 | 国产青草视频免费观看97 | 26uuu久久| 九九精品视频一区二区三区 | 欧美aaaa黄色一级毛片 | 亚州精品一区二区三区 | 久久久精品成人免费看 | 日韩第3页 | 中国一级免费毛片 | 国产大学生一级毛片绿象 | 四虎永久免费地址在线观看 | 日韩伦理视频 | 黄色不良视频 | 天天爱天天干天天 | 一级毛片在线 | 亚洲免费在线观看视频 | 青青青爽在线视频观看大全 | 九九影院理论片私人影院 | a级片网址 |