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方法
控制台输出为:
日志文件内容如下:
还没有评论,来说两句吧...