日志器定义流程
定义顺序:
- 定义日志格式
- 定义日志处理器-handler,并给日志处理器添加日志格式
- 创建日志器对象-logger,并将日志处理器添加到日志器
- 设置日志显示级别
程序代码
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# from logging import Formatter,StreamHandler,getLogger,DEBUG,INFO,WARNING,CRITICAL,ERROR
import logging
def createHandle():
'''
定义日志处理器和日志格式
:return: 返回定义的日志处理器
'''
log_format = logging.Formatter('%(asctime)s-%(funcName)s-%(levelname)s-%(message)s') # 定义日志格式
console_handler = logging.StreamHandler() # 添加日志处理器,将这里将日志输出到控制台
console_handler.setFormatter(log_format) # 给日志处理器添加格式
return console_handler
def setLogLevel(level):
'''
确定日志级别
:param level: 指定日志的级别:debug|info|warning|critical|error
:return:
'''
console_handler=createHandle()
logger=logging.getLogger(__name__) # 创建日志器对象
logger.addHandler(console_handler) # 将handler添加到日志处理器
if level.lower()=='debug':
logger.setLevel(logging.DEBUG)
return logger
elif level.lower()=='info':
logger.setLevel(logging.INFO)
return logger
elif level.lower()=='warning':
logger.setLevel(logging.WARNING)
return logger
elif level.lower()=='critical':
logger.setLevel(logging.CRITICAL)
return logger
elif level.lower()=='error':
logger.setLevel(logging.ERROR)
return logger
else:
print('输入的日志级别不合法!')
if __name__=='__main__':
logger=logging.setLogLevel('debug')
logger.debug('=============[开始测试]=============')
logger.info('=============[开始测试]=============')
logger.warning('=============[开始测试]=============')
logger.critical('=============[开始测试]=============')
logger.error('=============[开始测试]=============')
程序中调用自身程序
程序调用之前,必须添加环境变量,否则会找不到对应的包
#!/usr/bin/python3
# -*- coding:utf-8 -*-
from sys import path
path.append('G:/Shell/Python') # 添加临时环境变量
from common.console.log import loghand
if __name__=='__main__':
logger=loghand.setLogLevel('debug')
logger.debug('=============[开始测试]=============')
logger.info('=============[开始测试]=============')
logger.warning('=============[开始测试]=============')
logger.critical('=============[开始测试]=============')
logger.error('=============[开始测试]=============')