python 日誌統計封裝

2021-10-21 00:17:31 字數 2217 閱讀 9950

'''

收集存放日誌

2021/3/1

'''# coding=utf-8

import logging

import time

import os

'''生成log存放目錄

'''# 輸出當前檔案目錄, 在目錄最終拼接『logs』

log_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'logs')

# a 返回布林值,是否存在該目錄

a = os.path.exists(log_path)

# 判斷目錄是否存在,如果不存在,則建立目錄

if a == false:

os.mkdir(log_path)

# 生成log

class log:

def __init__(self):

pass

# 初始化建立乙個帶時間戳的log檔案

# self.logname = os.path.join(log_path, '.log'.format(time.strftime('ttt'+'%y-%m-%d-%h.%m')))

# 建立乙個log handler收集log

def __printconsole(self, level, message):

# 初始化建立乙個帶時間戳的log檔案

self.logname = os.path.join(log_path, '.log'.format(time.strftime(level + '%y-%m-%d-%h.%m')))

# 定義乙個logger

logger = logging.getlogger()

logger.setlevel(logging.debug)

# 建立乙個handler

filehandler = logging.filehandler(self.logname, mode='a', encoding='utf-8')

filehandler.setlevel(logging.debug)

# 在建立乙個handler, 輸出到列印台

ch = logging.streamhandler()

ch.setlevel(logging.debug)

# 定義hanlder輸出格式

formatter = logging.formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

filehandler.setformatter(formatter)

ch.setformatter(formatter)

# 將log新增到handler

logger.addhandler(filehandler)

logger.addhandler(ch)

# 記錄日誌

if level == 'debug':

logger.debug(message)

if level == 'info':

logger.info(message)

if level == 'warning':

logger.warning(message)

if level == 'error':

logger.error(message)

# 關閉handler

logger.removehandler(filehandler)

logger.removehandler(ch)

# 關閉檔案

filehandler.close()

def debug(self, message):

self.__printconsole('debug', message)

def info(self, message):

self.__printconsole('info', message)

def warning(self, message):

self.__printconsole('warning', message)

def error(self, message):

self.__printconsole('error', message)

# 測試

log().debug('this log is info')

python日誌模組 封裝

import logging,time,os,sys 使用方法 在project主目錄下新建lib目錄,將logger fengzhuang.py檔案複製進去 呼叫方式 logger logger file or terminal file level debeg getlogger logger ...

python對logging日誌封裝

日誌類 class mylog classmethod defmy log cls,msg,level my logger logging.getlogger python11 設定日誌級別 my logger.setlevel logging.debug 設定輸出格式 formatter logg...

python 日誌log封裝方法

coding utf 8 import logging import time import os log path os.path.join os.path.dirname os.path.dirname os.path.realpath file logs a os.path.exists lo...