簡介
使用的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方法
控制檯輸出爲:
日誌文件內容如下: