下面是“python实现日志按天分割”的完整攻略,包含以下几个步骤:
- 安装Python日志系统模块logging
在命令行工具输入以下命令进行模块安装
pip install logging
- 编写Python日志代码块
以下是一个简单的Python日志代码示例。该示例使用logging模块,将日志按天创建,并保存到logs目录下的文件中。
import logging
import datetime
log_file_name = datetime.datetime.now().strftime("%Y-%m-%d")+".log"
log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
root_logger = logging.getLogger()
log_filename = "logs/"+log_file_name
file_handler = logging.FileHandler(log_filename, mode='w')
file_handler.setFormatter(log_formatter)
root_logger.setLevel(logging.DEBUG)
root_logger.addHandler(file_handler)
root_logger.debug("Debug Message")
root_logger.info("Info Message")
root_logger.warning("Warning Message")
root_logger.error("Error Message")
root_logger.critical("Critical Message")
在上述日志代码块中,首先使用datetime模块获取当前日期,并将其转换为相应的日志文件名称。在此之后,使用logging模块创建一个FileHandler,该Handler会按照每天的日期自动生成日志文件,并将日志信息保存到相应的文件中。
在这个示例中,我们重写了默认的日志格式,使用了自定义的log_formatter,这个格式使用了asctime、levelname、message等信息进行了组织。
最后,我们使用root_logger记录不同级别的日志信息,例如Debug Message、Info Message等,在日志文件中排列组合展现。
- 运行Python日志代码
在终端中执行以下命令,将运行代码,并生成logs目录下的日志文件:
python python_log.py
这个时候,我们会在logs目录下看到刚刚生成的日志文件:2021-06-13.log。
logs/
2021-06-13.log
python_log.py
日志信息包含在2021-06-13.log中,文件中的内容可能如下:
2021-06-13 09:18:06,180 DEBUG Debug Message
2021-06-13 09:18:06,180 INFO Info Message
2021-06-13 09:18:06,180 WARNING Warning Message
2021-06-13 09:18:06,180 ERROR Error Message
2021-06-13 09:18:06,180 CRITICAL Critical Message
代码示例2:
如果你想将日志信息按小时进行分割,那么只需要将上面first_example中的log_file_name变量由"%Y-%m-%d"改成"%Y-%m-%d_%H"。这样就可以将生成日志的频率调整为按每小时生成日志文件,且每个文件包含当前小时的日志信息。
log_file_name = datetime.datetime.now().strftime("%Y-%m-%d_%H")+".log"
这里需要注意的是,日志生成的频率,在必要时可以根据需要进行调整,例如按天、按小时、按分钟等。以上两个实例展示了日志按天和按小时进行分割的示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现日志按天分割 - Python技术站