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)。

相关推荐
Mr_Xuhhh6 小时前
Java泛型进阶:从基础到高级特性完全指南
开发语言·windows·python
老天文学家了7 小时前
蓝桥杯备战Python
开发语言·python
ID_180079054737 小时前
除了 Python,还有哪些语言可以解析 JSON 数据?
开发语言·python·json
FreakStudio8 小时前
小作坊 GitHub 协作闭环:fork-sync-dev-pr-merge 实战指南
python·单片机·嵌入式·面向对象·电子diy
普通网友9 小时前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
小陈工10 小时前
2026年4月2日技术资讯洞察:数据库融合革命、端侧AI突破与脑机接口产业化
开发语言·前端·数据库·人工智能·python·安全
陈晓明start10 小时前
【python】豆包模型,自动生成测试用例初探索
python
阿kun要赚马内10 小时前
Python中元组和列表差异:底层结构分析
开发语言·python
万添裁10 小时前
pytorch的张量数据结构以及各种操作函数的底层原理
人工智能·pytorch·python