当前位置:

首页 > 编程开发 > Linux Python配置中如何进行日志管理

Linux Python配置中如何进行日志管理

在Linux环境下用Python做日志管理,选内置的logging模块准没错——既轻量又灵活,该有的功能一个不少。下面直接看一个标准配置示例,这是很多生产环境里的基础模板。 第一步,先把logging模块导入进来,这个没什么好说的: import logging 第二步,也是最核心的部分:配置日志记

本文目录

    在Linux环境下用Python做日志管理,选内置的logging模块准没错——既轻量又灵活,该有的功能一个不少。下面直接看一个标准配置示例,这是很多生产环境里的基础模板。

    Linux Python配置中如何进行日志管理

    第一步,先把logging模块导入进来,这个没什么好说的:

    import logging

    第二步,也是最核心的部分:配置日志记录器(Logger)、处理器(Handler)以及格式化器(Formatter)。这三者的关系可以简化理解——Logger负责接收日志,Handler决定把日志写到哪儿(文件、控制台、网络等),Formatter则控制日志长什么样。

    # 创建一个日志记录器
    logger = logging.getLogger('my_logger')
    logger.setLevel(logging.DEBUG)  # 设置日志级别
    
    # 创建一个文件处理器,将日志写入到文件中
    file_handler = logging.FileHandler('my_log.log')
    file_handler.setLevel(logging.DEBUG)  # 设置处理器日志级别
    
    # 创建一个控制台处理器,将日志输出到控制台
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.INFO)  # 设置处理器日志级别
    
    # 创建一个格式化器,定义日志的输出格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    
    # 将格式化器添加到处理器
    file_handler.setFormatter(formatter)
    console_handler.setFormatter(formatter)
    
    # 将处理器添加到日志记录器
    logger.addHandler(file_handler)
    logger.addHandler(console_handler)

    这里有个细节值得注意:日志记录器和处理器都可以独立设置日志级别,最终哪个级别生效?取两者的“交集”——说白了,就是两者中级别较高的那个。上面例子中,logger设为DEBUG,file_handler也设为DEBUG,所以文件里能记录DEBUG及以上所有级别;而控制台处理器设为INFO,意味着控制台只会输出INFO及更高级别的日志。

    第三步,配置好了就直接用logger来记录日志:

    logger.debug('这是一条debug级别的日志')
    logger.info('这是一条info级别的日志')
    logger.warning('这是一条warning级别的日志')
    logger.error('这是一条error级别的日志')
    logger.critical('这是一条critical级别的日志')

    运行之后,你会在当前目录下看到生成了一个my_log.log文件,里面写满了这些日志;同时终端上也会实时打印出来(但注意只有INFO及以上级别才会显示在控制台)。日志级别从低到高依次是:DEBUG、INFO、WARNING、ERROR、CRITICAL——这个顺序几乎是业界统一标准。

    当然,实际项目中很少只用一个文件处理器就完事。常见的做法是:给同一个logger添加多个处理器,比如一个文件处理器只记录ERROR及以上的错误日志,另一个文件处理器记录所有级别,再配一个控制台处理器专门给开发调试用。甚至可以为不同模块创建不同的logger,通过命名空间实现精细控制——比如logger = logging.getLogger('backend.database'),这样日志里就能区分是哪个模块输出的。

    格式化器也可以按需定制,时间戳、进程ID、线程名、文件行号,只要需要,都能加进去。那句格式字符串里的%(asctime)s、%(name)s等字段,就是logging模块内置的变量,完全可以自由组合。

    一句话总结:logging模块就像一套乐高积木——Logger、Handler、Formatter、Filter,按需拼装,就能搭出适合自己项目的日志体系。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Linux
    相关文章 更多
    linux删除用户与用户组的方法及命令教程
    linux删除用户与用户组的方法及命令教程

    掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

    Linux如何开启端口号?开放端口命令详解
    Linux如何开启端口号?开放端口命令详解

    详细讲解Linux如何开启端口号以及常用的开放端口命令。

    crossover卸载软件下载及重新安装教程
    crossover卸载软件下载及重新安装教程

    遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。