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

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條評論
主站蜘蛛池模板: 国产一区 在线视频 | 99热久久这里只有精品6国产网 | 97视频在线观看视频在线精品 | 国产在线视频二区 | 一区二区三区日韩精品 | 日本黄色录像 | 久草网在线 | 欧美 亚洲 激情 | 亚洲视频一区 | 俄罗斯毛片视频 | 午夜噜噜噜私人影院在线播放 | jizz国产精品免费麻豆 | 九九精品视频在线 | 欧美视频在线观看一区二区 | 青草视频在线观看免费资源 | 99re这里有免费视频精品 | 亚洲另在线日韩综合色 | 99精品在线看| 久久香蕉国产线看观看亚洲片 | 欧美成人毛片免费视频 | 玖玖中文字幕 | 99国产大尺度福利视频 | 日本高清视频www夜色资源 | 在线 | 一区二区三区四区 | 日韩欧美色 | 亚洲伊人精品综合在合线 | 精品国产免费一区二区三区 | 五月天国产精品 | 一类毛片| 国产亚洲一区二区麻豆 | 国产精品青青青高清在线密亚 | 九九九九热 | 国产高清精品一级毛片 | 欧美一区二区三区在线观看 | 免费日本黄色网址 | 337p日本大胆欧美人术艺术6 | 伊人情人综合成人久久网小说 | 亚洲精品911 | 久久亚洲国产精品一区二区 | 久久一本一区二区三区 | 奇米影视奇米四色888av |