热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Python2.7.6标准日志模块logging的基本示例

本文介绍了如何使用Python标准库中的logging模块进行日志记录,包括配置和基本用法。

Python 标准库中的 logging 模块提供了强大的功能来帮助开发者记录程序运行时的信息。通过使用 logging 模块,可以轻松地将日志信息输出到控制台或文件中,这对于调试和监控应用程序非常有用。



import logging

# 配置日志记录的基本设置
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
filename='app_log.log'
)

# 记录不同级别的日志信息
logging.debug('这是一条调试信息')
logging.info('这是一条信息性消息')
logging.warning('这是一条警告消息')


上述代码配置了日志记录器,设置了日志级别为 DEBUG,并指定了日志格式和日期格式。日志信息将被记录到名为 app_log.log 的文件中。以下是 app_log.log 文件中的日志示例:



2015-03-11 15:54:34 [MainThread] (example.py:10) DEBUG - 这是一条调试信息
2015-03-11 15:54:34 [MainThread] (example.py:11) INFO - 这是一条信息性消息
2015-03-11 15:54:34 [MainThread] (example.py:12) WARNING - 这是一条警告消息


logging.basicConfig 函数参数详解:



































参数说明
filename指定日志文件的名称,用于创建 FileHandler 实例
filemode指定日志文件的打开模式,默认为 'a'(追加模式)
format定义日志消息的格式
datefmt定义日期/时间的格式
level设置日志记录的最低级别,级别顺序为 CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
stream指定用于初始化 StreamHandler 的流对象,当同时指定了 filename 和 stream 参数时,filename 优先

logging 模块中的格式化符号:

































































符号说明
%(asctime)s日志记录的时间戳
%(filename)s源代码文件的名称
%(funcName)s调用日志记录函数的函数名
%(levelname)s日志级别名称
%(levelno)s日志级别的数值
%(lineno)d日志记录发生的代码行号
%(module)s源代码模块的名称
%(message)s实际的日志消息内容
%(name)s日志记录器的名称
%(pathname)s源代码文件的完整路径
%(process)d当前进程的 ID
%(processName)s当前进程的名称
%(thread)d当前线程的 ID
%(threadName)s当前线程的名称

推荐阅读
  • 本文详细介绍了Android平台上的动态加载技术,包括其定义、分类及具体实现步骤。通过动态加载技术,开发者可以在不更新应用的情况下,向用户推送新的功能或修复bug,从而提升用户体验。 ... [详细]
  • 本文探讨了在Android平台下编写和读取.JSON文件的方法,解决读取文件时遇到的字符间异常空格问题。 ... [详细]
  • 设计模式笔记12:迭代器模式(Iterator Pattern) ... [详细]
  • 本文探讨了如何在不同域名下,通过浏览器直接下载PDF文件而非预览的问题,并提供了两种解决方案:一是利用原生JavaScript编写下载函数,二是使用第三方库简化下载流程。 ... [详细]
  • VSCode中使用Clang-Format进行C/C++代码格式化配置
    本文介绍了如何在VSCode中配置Clang-Format以实现C/C++代码的自动格式化,包括安装必要的扩展、配置文件的创建以及常用设置的解释。建议阅读官方文档以获取更多详细信息。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • Flutter 高德地图插件使用指南
    本文档详细介绍了如何在Flutter项目中集成和使用高德地图插件,包括安装、配置及基本使用方法。 ... [详细]
  • 本文章介绍了如何将阿拉伯数字形式的金额转换为中国传统的大写形式,适用于财务报告和正式文件中的金额表示。 ... [详细]
  • 深入理解Hibernate延迟加载机制
    本文探讨了Hibernate框架中的延迟加载(懒加载)特性,分析其对程序性能的影响及实现原理,同时提供了具体的代码示例来说明如何配置和使用延迟加载。 ... [详细]
  • Smali代码动态调试指南
    本文介绍了如何通过一系列具体步骤实现Smali代码的动态调试,包括环境搭建、工具安装及调试过程中的关键操作。 ... [详细]
  • 程序打印菱形 ... [详细]
  • 本文实例为大家分享了Python实现代码统计工具的具体代码,供大家参考,具体内容如下思路:首先获取所有文件,然后统计每个文 ... [详细]
  • 本文介绍了Windows驱动开发的基础知识,包括WDF(Windows Driver Framework)和WDK(Windows Driver Kit)的概念及其重要特性,旨在帮助开发者更好地理解和利用这些工具来简化驱动开发过程。 ... [详细]
  • java学习日记对JFrame的操作
    设置背景图片、添加音乐、监控键盘、改变字体风格等等!importjava.applet.Applet;importjava.applet.AudioClip;importjava. ... [详细]
  • 前端监控系列2 | 深入探讨JS错误监控的重要性与实践
    作者:彭莉,火山引擎APM研发工程师,专注于前端监控技术的研发。本文将深入讨论JS错误监控的必要性及其实现方法,帮助开发者更好地理解和应用这一技术。 ... [详细]
author-avatar
mobiledu2502853463
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有