Python中如何使用logger模块记录用户操作日志
发布时间:2024-01-12 09:00:20
在Python中,我们可以使用logging模块来记录日志,包括用户操作日志。logging模块提供了一个灵活的接口,可以根据需要进行配置和格式化日志信息。
下面是一个使用logging模块记录用户操作日志的例子:
import logging
# 配置日志记录器
logger = logging.getLogger('user_actions')
logger.setLevel(logging.INFO)
# 创建一个文件处理器,将日志写入到文件中
file_handler = logging.FileHandler('user_actions.log')
file_handler.setLevel(logging.INFO)
# 创建一个控制台处理器,将日志输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建一个格式器,指定日志记录的格式
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# 将处理器添加到日志记录器
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 模拟用户操作
def user_action(user, action):
logger.info(f'User {user} performs action: {action}')
# 调用示例
user_action('Alice', 'login')
user_action('Bob', 'logout')
user_action('Charlie', 'view profile')
以上代码定义了一个名为user_actions的日志记录器,配置了两个处理器:file_handler用于将日志写入到user_actions.log文件中,console_handler用于将日志输出到控制台。
user_action函数模拟用户操作,并使用logger.info方法记录日志。在日志记录中,%(asctime)s代表日志记录时间,%(levelname)s代表日志级别,%(message)s代表日志消息。
运行以上代码后,文件user_actions.log将包含以下内容:
2022-01-01 00:00:00,000 - INFO - User Alice performs action: login 2022-01-01 00:00:01,000 - INFO - User Bob performs action: logout 2022-01-01 00:00:02,000 - INFO - User Charlie performs action: view profile
同时,控制台也会输出相同的日志信息。
此外,logging模块还提供了其他一些常用的方法,比如debug用于调试信息,warning用于警告信息,error用于错误信息等。
你可以根据需要配置不同的级别来记录不同类型的日志,并根据不同的模块或功能创建不同的日志记录器和处理器,以满足你的日志记录需求。
