12
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
'''
|
||||
①模块里调用了logging日志模块,定义一个类Log
|
||||
②Log类里定义了初始化方法__init__(),初始化方法需要入两个参数,一个是日志器的名字name,一个是日志等级level,实例属性self.logName用来接收实例化的日志器的名字,需要其他属性时自己定义即可
|
||||
③定义logFile()方法,实例对象调用该方法时,需要入参文件名字fileName,调用该方法就启用日志器信息输出到指定的文件名里,日志的信息格式统一都是"年月日时分秒 - 日志器名字 - 日志等级 - 日志信息",输入的字符集编码写死成utf-8即可
|
||||
④定义logConsol()方法,实例对象调用该方法时,调用该方法就启用日志器信息输出到控制台,日志的信息格式统一都是"年月日时分秒 - 日志器名字 - 日志等级 - 日志信息"
|
||||
⑤最后定义一个message()方法,两个形参,一个形参接收日志级别,一个形参接收日志信息,实例调用该方法时,输出不同的日志级别信息
|
||||
'''
|
||||
import logging
|
||||
|
||||
class Log:
|
||||
def __init__(self,name,level):
|
||||
self.logger = logging.getLogger(name)
|
||||
self.level = level.upper()
|
||||
self.log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s',datefmt='%Y-%m-%d %H:%M:%S')
|
||||
|
||||
def logFile(self,filename):
|
||||
if self.logger.handlers:
|
||||
self.logger.handlers.clear()
|
||||
self.logger.setLevel(eval(f'logging.{self.level}'))
|
||||
file_handler = logging.FileHandler(filename,mode='a',encoding='utf-8')
|
||||
file_handler.setFormatter(self.log_formatter)
|
||||
self.logger.addHandler(file_handler)
|
||||
|
||||
def logConsol(self):
|
||||
if self.logger.handlers:
|
||||
self.logger.handlers.clear()
|
||||
self.logger.setLevel(eval(f'logging.{self.level}'))
|
||||
consol_handler = logging.StreamHandler()
|
||||
consol_handler.setFormatter(self.log_formatter)
|
||||
self.logger.addHandler(consol_handler)
|
||||
|
||||
def message(self,lvmes,mes):
|
||||
getattr(self.logger,lvmes.lower())(mes)
|
||||
|
||||
Reference in New Issue
Block a user