Python日誌模組logging格式化封裝

2021-07-03 08:20:14 字數 1717 閱讀 8495

一、前言:

對python 日誌模組logging進行了格式化輸出封裝,形成自己的日誌格式。以後就可以拿來主義了。

1.輸出到控制台。

2.輸出到當前workspace指定檔案。

二、**:

##模組[log.py]

import logging

import unittest

import sys

def handleexception(exctype, excvalue, traceback, logger):

logger.error("uncaught exception", exc_info=(exctype, excvalue, traceback))

class log(object):

@staticmethod

def log(tag, message, level=logging.info):

"""log messages to console and file(create to current workspace)

args:

tag: message tag

message: the message

level(optional): logging level of the message

"""logger = log.get_logger(tag)

if level == logging.info:

logger.info(message)

if level == logging.warning:

logger.warning(message)

if level == logging.debug:

logger.debug(message)

if level == logging.critical:

logger.critical(message)

if level == logging.error:

logger.error(message)

@staticmethod

def get_logger(tag):

"""setup the logger

"""if len(logging.root.handlers) == 0:

logging.basicconfig(level=logging.debug,

format='%(asctime)s [%(levelname)s][%(name)s]: %(message)s',

filename='console.log',

filemode='a')

console = logging.streamhandler()

console.setlevel(logging.info)

formatter = logging.formatter('%(asctime)s [%(levelname)s][%(name)s]: %(message)s')

console.setformatter(formatter)

logging.getlogger('').addhandler(console)

sys.excepthook = handleexception

return logging.getlogger(tag)

三、測試:

from log import log

log.log(「tag」,"test  log model~")

PythonStudy 日誌模組 logging

日誌 日之石日常的流水,將程式執行過程中的狀態或資料盡心記錄,一般是記錄到日誌檔案當中的。在正常的專案之中,專案的執行的一些列印資訊,採用logging列印到檔案當中,這個過程就稱作為 日誌記錄模組 以下為預設的操作日誌模組 匯入日誌模組 import logging logging為預設列印者,是...

python日誌模組

logging.debug 10 logging.info 20 logging.warning 30 logging.error 40 logging.critical 50預設級別為warning 預設輸出位置為控制台 import logging logging.basicconfig 可用引...

python 日誌模組

在軟體或者系統發生錯誤時可以通過日誌快速定位到錯誤,從而定位問題,解決問題。logging模組提供的日誌記錄函式所使用的日誌器設定的日誌級別是warning,因此只有warning級別的日誌記錄以及大於它的error和critical級別的日誌記錄被輸出了,而小於它的debug和info級別的日誌記...