python实现日志按天分割

下面是“python实现日志按天分割”的完整攻略,包含以下几个步骤:

  1. 安装Python日志系统模块logging

在命令行工具输入以下命令进行模块安装

pip install logging
  1. 编写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等,在日志文件中排列组合展现。

  1. 运行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技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 解决python 自动安装缺少模块的问题

    确保安装Pip工具 安装Python扩展模块通常使用Pip命令,但有时该命令不存在,因此首先需要确保Pip已经安装。下载Pip的下载链接为https://bootstrap.pypa.io/get-pip.py ,在命令提示符下执行以下命令安装Pip: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.…

    python 2023年5月18日
    00
  • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警

    下面是使用Python监控服务器的CPU、磁盘空间、内存,并超过邮件报警的完整攻略: 1. 安装必要的Python库 我们需要安装以下Python库来监控服务器的CPU、磁盘空间和内存: psutil:用于获取系统CPU、内存和磁盘等信息。 smtplib:用于发送邮件。 可以使用pip安装这些库: pip install psutil smtplib 2.…

    python 2023年6月2日
    00
  • PyQt5每天必学之关闭窗口

    关闭窗口是PyQt5中非常基础、必学的操作之一。下面是PyQt5每天必学之关闭窗口的完整攻略: 1. 关闭窗口 在PyQt5中,关闭窗口的最常见方法是使用 close() 方法来实现。在实际应用中,可以在窗口上添加关闭按钮,当用户点击关闭按钮时,调用 close() 方法来关闭窗口。 以下是一个简单的代码示例: import sys from PyQt5.Q…

    python 2023年6月13日
    00
  • 浅谈Python 对象内存占用

    浅谈Python 对象内存占用 Python是一种高级语言,由于它有自动内存管理机制,所以对象的内存管理都由Python解释器来处理。Python内存管理机制采用了引用计数的方式来管理对象的生命周期。当一个对象引用计数为0时,Python解释器便会自动将该对象所占用的内存释放掉。但是,当Python程序使用频繁或者处理大型数据时,仍然需要考虑内存使用情况。 …

    python 2023年6月3日
    00
  • python 列表输出重复值以及对应的角标方法

    一、方法一:使用for循环及if语句 Python列表自带的count()方法可以便捷地计算列表中元素出现的次数,我们可以使用for循环遍历列表中所有的元素,对于每个元素,使用count()方法计算该元素在列表中出现的次数。如果出现次数大于1,就表明该元素是重复的,使用index()方法输出该元素在列表中的角标。 示例代码: lst = [1, 2, 3, …

    python 2023年6月5日
    00
  • 关于jupyter打开之后不能直接跳转到浏览器的解决方式

    针对这个问题,我将为您提供完整的攻略,包括两条示例说明。 问题描述 当我们在Windows系统中使用Jupyter Notebook打开一个笔记本文件时,有时会出现打开后不能直接跳转到浏览器的情况。通常情况下,我们的浏览器会自动打开一个选项卡,显示Jupyter Notebook的界面。但出现问题后,需要手动打开浏览器并输入地址才能访问Jupyter Not…

    python 2023年6月5日
    00
  • 详解python 支持向量机(SVM)算法

    下面是关于“详解Python支持向量机(SVM)算法”的完整攻略。 1. 支持向量机(SVM)算法简介 支持向量机(SVM)是一种二分类模型它的基本模型是定义特征空间上间隔最大的线性分类器,其学习策略便是间隔最大化,终可转化为一个凸二次规划问题的求解。SVM算法具有良好的泛化能力和鲁棒性,被广泛用于分类、回归和异常检测等领域。 2. Python实现支持向量…

    python 2023年5月13日
    00
  • Python常见类型转换的小结

    Python常见类型转换的小结 在Python中,可以使用特定的函数对不同数据类型进行转换,包括但不限于以下几种类型:- 数字类型: int, float- 字符串类型: str- 列表类型: list- 字典类型: dict 数字类型转换 int()函数 将一个数值或字符串转换成整数,可以使用int()函数。 a = 10.2 b = int(a) pri…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部