使用Python中的User()类实现用户操作日志记录功能
发布时间:2024-01-06 15:12:06
在Python中,我们可以使用一个User()类来实现用户操作日志记录功能。该类可以跟踪每个用户的登录、登出和操作,将这些信息保存到日志文件中。
下面是一个使用Python实现用户操作日志记录功能的示例:
import logging
# 创建日志记录器
logger = logging.getLogger("user_log")
logger.setLevel(logging.INFO)
# 创建文件处理程序
file_handler = logging.FileHandler("user_log.log")
file_handler.setLevel(logging.INFO)
# 创建格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
# 将文件处理程序添加到记录器
logger.addHandler(file_handler)
class User:
def __init__(self, username):
self.username = username
self.logged_in = False
def login(self):
if self.logged_in:
print("用户已登录")
else:
self.logged_in = True
logger.info(f"用户 {self.username} 登录")
def logout(self):
if not self.logged_in:
print("用户未登录")
else:
self.logged_in = False
logger.info(f"用户 {self.username} 登出")
def perform_action(self, action):
if not self.logged_in:
print("用户未登录")
else:
logger.info(f"用户 {self.username} 执行操作: {action}")
# 创建用户
user_1 = User("John")
user_2 = User("Alice")
# 对用户进行操作
user_1.login()
user_1.perform_action("修改密码")
user_1.logout()
user_2.login()
user_2.perform_action("发送邮件")
user_2.logout()
在上述示例中,我们首先使用logging模块创建了一个记录器logger,并将日志级别设置为INFO。然后,创建一个文件处理程序file_handler,并将其关联到日志文件user_log.log。接下来,创建一个格式化器formatter,设置日志消息的格式。最后,将文件处理程序添加到记录器中。
然后,我们定义了一个User类,该类具有用户名和登录状态属性。在登录、登出和执行操作时,该类会根据状态将相应的信息记录到日志文件中。
在使用例子中,我们创建了两个用户user_1和user_2,并对其进行了登录、执行操作和登出的操作。每次操作都会在日志文件中记录相应的信息。
最后,我们可以通过查看日志文件user_log.log来检查运行结果。
