Python -日誌模塊使用

簡介

使用的python的日誌模塊logging用於打印日誌。

自定義工具類

# encoding: utf-8 
"""
@File    : logger.py
@Author  : 靈樞
@Time    : 2020/2/12 10:55 AM
@Desc    :  
"""

# -*- coding:utf-8 -*-
import logging

class Logger:
    def __init__(self,loggername):

        # Get logger
        self.logger = logging.getLogger(loggername)
        self.logger.setLevel(logging.DEBUG)  # set log level

        # Create a handler, write log to a file
        log_path = "logs/"  # log file path
        logname = log_path + 'out.log'  # log file name
        fh = logging.FileHandler(logname,encoding = 'utf-8')
        fh.setLevel(logging.DEBUG)

        # Create a handler write log to console
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)

        # Define the output format of the handler
        formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s: %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # Add handler to logger
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def get_logger(self):
        """Define a function to get logger instance"""
        return self.logger

if __name__ == '__main__':
    logger = Logger("gcui").get_logger()
    logger.info("testing-info: %s", '111')
    logger.debug("testing-DEBUG")

自定義日誌工具類,方便以後調用,該工具類提供一個get_logger方法,返回logger實例。
調用looger打印日誌時,會同時在控制檯輸出和寫入到日誌文件(本示例的路徑爲 /logs/out.log)。

調用測試

運行main方法
在這裏插入圖片描述

控制檯輸出爲:
在這裏插入圖片描述

日誌文件內容如下:
在這裏插入圖片描述

發佈了99 篇原創文章 · 獲贊 175 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章