可以的,以下是一个基于Python开发的日志管理模块的示例代码,可以删除前两天的日志:

import logging
import os
import datetime


class LogManager:
    def __init__(self, log_dir):
        self.log_dir = log_dir

        # 创建日志文件夹
        if not os.path.exists(log_dir):
            os.makedirs(log_dir)

        # 创建日志记录器
        self.logger = logging.getLogger()
        self.logger.setLevel(logging.DEBUG)

        # 创建控制台处理器
        console_handler = logging.StreamHandler()
        console_handler.setLevel(logging.INFO)
        console_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
        console_handler.setFormatter(console_formatter)
        self.logger.addHandler(console_handler)

        # 创建文件处理器
        file_handler = logging.FileHandler(os.path.join(log_dir, 'app.log'))
        file_handler.setLevel(logging.DEBUG)
        file_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
        file_handler.setFormatter(file_formatter)
        self.logger.addHandler(file_handler)

    def log(self, level, message):
        if level == 'debug':
            self.logger.debug(message)
        elif level == 'info':
            self.logger.info(message)
        elif level == 'warning':
            self.logger.warning(message)
        elif level == 'error':
            self.logger.error(message)
        elif level == 'critical':
            self.logger.critical(message)
        else:
            raise ValueError('Invalid log level')

    def delete_old_logs(self, days_to_keep):
        today = datetime.date.today()
        delete_date = today - datetime.timedelta(days=days_to_keep)

        for filename in os.listdir(self.log_dir):
            file_path = os.path.join(self.log_dir, filename)
            if os.path.isfile(file_path) and os.path.getmtime(file_path) < delete_date.timestamp():
                os.remove(file_path)


# 示例用法
log_manager = LogManager('logs')
log_manager.log('info', 'This is an info log message')
log_manager.log('debug', 'This is a debug log message')
log_manager.log('warning', 'This is a warning log message')
log_manager.log('error', 'This is an error log message')
log_manager.delete_old_logs(2)

上述代码中,LogManager 类封装了日志管理的功能。你可以通过调用 log() 方法来记录日志,可以指定不同的日志级别(如 debuginfowarningerrorcritical)。日志会同时输出到控制台和写入到文件中。

delete_old_logs() 方法用于删除指定天数之前的日志文件。你可以调用该方法并传入要保留的天数。

请注意,该示例仅提供一种实现方式,你可以根据自己的需求进行调整和改进

可以基于python开发一个日志管理模块并删除前两天的日志吗

原文地址: http://www.cveoy.top/t/topic/hXE9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录