1.可以使用Python的logging模块来实现日志记录,并根据时间戳创建每次执行时的新.log文件。同时,你可以封装不同级别的日志记录功能,如warning、error、info等。
以下是一个示例代码,演示了如何实现根据时间戳创建新的.log文件,并封装不同级别的日志记录功能:
import os
import logging
import datetime
class CustomLogger:
def __init__(self):
self.log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'log')
if not os.path.exists(self.log_dir):
os.makedirs(self.log_dir)
self.logger = logging.getLogger(__name__)
self.logger.setLevel(logging.DEBUG)
# 创建不同级别的handler和formatter
self.create_handler(logging.INFO, 'info')
self.create_handler(logging.WARNING, 'warning')
self.create_handler(logging.ERROR, 'error')
def create_handler(self, level, filename):
log_file = os.path.join(self.log_dir, f'{filename}.log')
handler = logging.FileHandler(log_file)
handler.setLevel(level)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
self.logger.addHandler(handler)
def info(self, message):
self.logger.handlers[0].emit(logging.LogRecord('name', logging.INFO, '', 0, message, None, None))
def warning(self, message):
self.logger.handlers[1].emit(logging.LogRecord('name', logging.WARNING, '', 0, message, None, None))
def error(self, message):
self.logger.handlers[2].emit(logging.LogRecord('name', logging.ERROR, '', 0, message, None, None))
# 使用示例
logger = CustomLogger()
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
在这个示例中,CustomLogger类封装了日志记录功能,并提供了创建新.log文件和记录不同级别日志的方法。每次执行时,会根据时间戳创建一个新的.log文件,记录相应级别的日志信息。
你可以根据需要调整日志记录器的配置和格式,以满足你的实际需求。这样,你就可以方便地实现根据时间戳创建新的日志文件,并封装不同级别的日志记录功能。