log日志生成

使用日志记录器层次结构的一般步骤:

  1. 创建根日志记录器:
    在主程序中,首先创建一个根日志记录器。根日志记录器是层次结构的顶层,所有其他的子日志记录器都是从根日志记录器继承和扩展的。
python 复制代码
import logging

logger = logging.getLogger('myapp')
logger.setLevel(logging.DEBUG)

# 设置根日志记录器的处理程序和格式
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
  1. 创建子日志记录器:
    在每个子模块或子文件中,创建一个子日志记录器。子日志记录器的名称应该是根日志记录器名称的扩展。
python 复制代码
# script1.py

import logging

logger = logging.getLogger('myapp.script1')

def some_function():
    logger.info("This is a log message from script1.py")
python 复制代码
# script2.py

import logging

logger = logging.getLogger('myapp.script2')

def another_function():
    logger.info("This is a log message from script2.py")
  1. 配置日志输出:
    在主程序中,可以根据需要配置不同层级的日志输出位置和格式。
python 复制代码
# main.py

import logging

# 配置根日志记录器
logging.basicConfig(level=logging.INFO, filename='app.log', filemode='w', format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

from script1 import some_function
from script2 import another_function

def main():
    some_function()
    another_function()

if __name__ == "__main__":
    main()

在上述示例中,根日志记录器的日志输出被配置为写入到文件app.log中,而子日志记录器的日志输出将继承根日志记录器的配置。

logger = logging.getLogger('myapp'):

创建一个名为'myapp'的日志记录器对象。日志记录器是用于记录日志消息的核心对象。

logger.setLevel(logging.DEBUG):

设置日志记录器的日志级别为DEBUG。这意味着只有DEBUG级别及以上的日志消息才会被记录。可以根据需要调整日志级别,例如DEBUG、INFO、WARNING、ERROR等级别。

handler = logging.StreamHandler():

创建一个处理程序对象,用于处理日志消息。在本例中,创建了一个StreamHandler对象,用于将日志消息输出到标准输出流(stdout)。

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s %(message)s'):

创建一个格式化器对象,用于定义日志消息的输出格式。在本例中,使用了一个简单的格式,包括日志消息的时间、日志记录器的名称、日志级别和消息内容。

handler.setFormatter(formatter):

将格式化器对象设置到处理程序对象中。这样,在处理程序处理日志消息时,会应用定义的输出格式。

logger.addHandler(handler):

将处理程序对象添加到日志记录器中。通过添加处理程序,可以指定将日志消息发送到何处。在本例中,将日志消息发送到标准输出流(stdout)。

相关推荐
程序员三藏13 分钟前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·安全性测试
程序员晚枫23 分钟前
Python版本进化史:从3.6到3.14,每个版本都带来了什么惊喜?
python
程序猿小D41 分钟前
【完整源码+数据集+部署教程】 【零售和消费品&存货】【无人零售】自动售卖机饮料检测系统源码&数据集全套:改进yolo11-KernelWarehouse
python·yolo·计算机视觉·目标跟踪·数据集·yolo11·自动售卖机饮料检测系统
寒怜z42 分钟前
python 景区游客量统计
python
程序员晚枫1 小时前
Python 3.14发布:多解释器让性能飙升300%,GIL时代即将终结!
python
程序猿小D1 小时前
【完整源码+数据集+部署教程】 【零售和消费品&存货】条形码检测系统源码&数据集全套:改进yolo11-TADDH
python·yolo·计算机视觉·目标跟踪·数据集·yolo11·条形码检测系统
废弃的小码农1 小时前
测试基础--Day01--软件测试基础理论
python·功能测试·测试工具
火白学安全2 小时前
《Python红队攻防脚本零基础编写:入门篇(一)》
python·安全·web安全·网络安全·系统安全
梦想的初衷~2 小时前
Python驱动的无人机多光谱-点云融合技术在生态三维建模与碳储量、生物量、LULC估算中的全流程实战
python·无人机·遥感·多光谱
一晌小贪欢2 小时前
Python爬虫第3课:BeautifulSoup解析HTML与数据提取
爬虫·python·网络爬虫·beautifulsoup·python爬虫·python3·requests