python常识系列08-->logging模块基础入门

Python标准模块logging 开发Python, 一直以来都是使用自己编写的logging模块. 比较土...... 今天发现python的标准模块的这个功能做的挺好, 记录一下, 以后使用模块来进行logging. 对于这个模块的介绍网上也很多, 我也不用自己写了, 比较好的如下, http://crazier9527.iteye.com/blog/290018    Python的标准logging模块 http://blog.endlesscode.com/2010/06/03/python-logging-module/   P 阅读详情

前言
努力从今天开始,成功从“零”开始。
一、logging模块是什么?
是Python内置的标准模块,主要用于输出运行日志

二、日志是什么?
日志是代码的必要组成部分
记录日志能显示程序当前运行状态
出问题后定位当时问题
对日志记录的数据挖掘进行统计和分析(比如 **地区登录APP人数较多等)
三、python日志级别
DEBUG:调试信息
INFO:有用的信息
WARNING:警告信息 (默认日志级别)
ERROR:错误信息
CRITICAL:严重错误信息
NOTSET:非级别,表示不设置,按照父logger级别来过滤日志

日志级别关系:

NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL

备注:如果把log的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出。也就是说,日志级别越高,打印的日志越不详细。

四、logging模块实战
4.1 logging模块基础代码


import logging

logging.debug('-----调试信息[debug]-----')
logging.info('-----有用的信息[info]-----')
logging.warning('-----警告信息[warning]-----')
logging.error('-----错误信息[error]-----')
logging.critical('-----严重错误信息[critical]-----')

    

        

    


由于没有设置日志级别,默认WARNING级别,上述代码输出如下:

WARNING:root:-----警告信息[warning]-----
ERROR:root:-----错误信息[error]-----
CRITICAL:root:-----严重错误信息[critical]-----

Process finished with exit code 0 
4.2 自定义日志级别
 
import logging

logging.basicConfig(level=logging.DEBUG)    #设置日志级别为DEBUG,注意要大写
logging.debug('-----调试信息[debug]-----')
logging.info('-----有用的信息[info]-----')
logging.warning('-----警告信息[warning]-----')
logging.error('-----错误信息[error]-----')
logging.critical('-----严重错误信息[critical]-----')

4.3 自定义日志显示格式
 
import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logging.debug('-----调试信息[debug]-----')
logging.info('-----有用的信息[info]-----')
logging.warning('-----警告信息[warning]-----')
logging.error('-----错误信息[error]-----')
logging.critical('-----严重错误信息[critical]-----')

其中format是控制日志格式用的,具体格式包含:(ps:读者可以换到上面代码部分试试)
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息

4.4 自定义日志输出到文件
 
import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logging.debug('-----调试信息[debug]-----')
logging.info('-----有用的信息[info]-----')
logging.warning('-----警告信息[warning]-----')
logging.error('-----错误信息[error]-----')
logging.critical('-----严重错误信息[critical]-----')

其中上述代码中 filename 参数为日志文件配置

小结
如果没有接触过日志的朋友使用本篇入门非常不错
本篇中使用了 basicConfig() 这种方式去配置日志,其实还有多种方式配置(如配置文件配置、自定义logger对象配置等)

Python-logging 模块 通常我们会使用一个配置字典来定义日志。导入 logging 模块。定义两种日志输出格式。# 定义两种日志输出格式定义日志文件路径。# 定义日志文件所在目录# 定义日志文件名# 如果定义的日志文件所在目录不存在就创建一个# 日志文件完整路径配置字典。通常会放在配置文件中,比如项目 conf 目录下 settings 文件中。# 配置字典'version': 1, # 配置字典的版本。 阅读详情

相关推荐

Python常用模块 之 logging:日志模块

Python常用模块 之 logging:日志模块

孤寒者的博客 17万+

Python 关于logging.py的NOTSET 分类: pyt...

环境:python2.7 网上有文章说,日志的过滤级别设置为NOTSET,即意味着“输出所有信息”,但是我今天的测试结果却不同。 通过查看代码,发现NOTSET是logging的默认过滤级别,即在日志没有设定过滤级别时,默认为NOTSET。 而在logging打印日志时,过滤级别NOTSET会转换为WARNING。因此,今天我测试时设置为NOTSET,结果日志中打印的是WARN...

weixin_34410662的博客 261

Python基础语法08:内置模块

常见的Python内置模块: os: 系统操作模块 random: 随机数模块 time:时间模块 re:正则匹配模块 string:字符串模块 sys:系统文件模块模块 time:包含各种提供日期、时间功能的类和函数 datetime:时间处理模块 json模块:数据结构转化 logging模块:日志处理 requests模块:接口访问 晚上再继续更新 ...

若北辰 3362

【Python零基础快速入门系列 | 15】常用标准库os、sys、logging快速掌握

本文描述了python最常用的3个标准库:os、sys、logging。

机器未来的博客 1604

Python常用模块 之 datetime模块和logging模块实战 使用

Python常用模块 之 datetime模块和logging模块实战 使用

孤寒者的博客 3万+

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

python的logging模块基础使用

python的logging模块的一些基础使用方法。

weixin_56777139的博客 1211

TCN(Temporal Convolutional Networks)时序卷积网络详解及代码

TCN(Temporal Convolutional Networks)时序卷积网络详解及代码

zhulewen的博客 7883

python之logging模块

python之logging模块

weixin_39926295的博客 1646

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 734

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1907

Python的logging模块

DEBUG: 详细信息,通常只在调试问题时使用。INFO: 确认一切按预期运行。WARNING: 指示可能出现的问题,但仍可继续运行。ERROR: 由于更严重的问题,某些功能无法执行。CRITICAL: 严重错误,程序可能无法继续运行。

KIKI3666的博客 2635

SEW MDX61B 变频器调试说明

可手动自由更改时间和地址,时间一般不更改,IP地址使用网络适配器地址(Network adapter),点击进入即可。进入网络适配器(Network adapter)后,选择适配器建议地址,点击OK,更改IP地址后点击OK。点击加载配置文件(Load a configuration),加载已保存的应用模块配置文件, 或者点击“next”,开始重新配置AMA0801模块。满足安全回路后,控制模式选为寻参模式(Reference mode),选中开始(start),即可将机械零点设置为电气零点。

xdpcxq的专栏 4300

Python基础学习之logging模块

创建一个文件处理器,将日志写入文件# 创建一个控制台处理器,将日志输出到控制台# 定义日志格式# 将处理器添加到日志器# 记录日志logger.info('这是一条自定义日志器的INFO级别日志')logger.warning('这是一条自定义日志器的WARNING级别日志')在这个例子中,我们创建了一个名为my_logger的自定义日志器,并将它的级别设置为INFO。然后,我们创建了一个文件处理器和一个控制台处理器,并将它们分别添加到日志器中。这样,我们就可以通过logger。

qq_45212655的博客 1726

Linear超高PSRR线性稳压器-典型应用电路解析

本文整理完了LT3045数据手册内所有的典型应用电路,试图让沉默的电路开口,简单介绍了他们这样做的目的和原理,从中我们可以更加熟悉这颗经典芯片的应用。但也有一些电路并没有搞懂,遗留下了不少问题。

硬件工程师笔记 2940

基于Openrouter的API调用免费大模型

Openrouter 是一个 AI 模型聚合平台,整合了全球 200 多种主流 AI 模型,包括 GPT-4、Claude、Gemini 等,以及国产通义千问、DeepSeek 等。其核心优势是统一的 API 设计,开发者仅需少量代码即可与多个模型交互,还支持自动路由与回退机制。用户可通过 OpenAI SDK 或 LangChain 调用 Openrouter 中的模型。

MurphyStar的博客 6201

详解python的logging模块

使用python文件将输出信息写入到文件中

weixin_46713695的博客 2946

【11】科曼医疗——科曼医疗 嵌入式--面试,校招,面试问答记录

科曼医疗嵌入式校招面试记录:3位面试官分别考察应用层技术、底层技术和HR面。技术问题涵盖C++特性(多态、虚函数、指针与引用区别)、内存管理(malloc与new对比)、嵌入式基础(51最小系统、IIC/SPI协议)及项目经验(智能黑板擦专利项目)。同时考察了Linux使用经验、STM32开发及嵌入式操作系统认知。最后环节应聘者询问了开发环境及面试流程。面试内容全面覆盖嵌入式开发核心知识点。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1250

Python logging 模块

Python logging 模块 给大家剖析下Python的logging模块。 logging模块是Python内置的一个强大易用的日志模块。简单到你只需要两行代码就能输出一些东西来:import logging logging.warning('Hi, I print something.')输出:WARNING:root:Hi, I print something.当然,我们可不能满足于

灰蓝 9171

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python 日志 logging 模块详解

文章目录1 日志相关概念1.1 日志的作用1.2 日志的等级1.3 logging 模块两种使用方式2 使用 logging 提供的模块级别的函数2.1 logging 模块定义常用函数2.2 使用方式1:简单配置2.3 使用方式2:使用 logging.basicConfig() 函数3 使用 Logging 日志系统的四大组件3.1 Logger 类3.2 Handler 类3.3 Formater 类3.4 Filter类(了解即可)3.5 日志流处理简要流程 1 日志相关概念 1.1 日志的作用

桑凯旋的博客 1919

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Python基础之logging日志模块封装

  引言   使用python做自动化测试的时候,对于关键信息输出和记录是必要的,方便调试和记录查找。python有个logging模块,我们简单对其进行封装。   设计流程   话不多说,流程图已经画,自己领会。   源码    """ 封装log方法 """ import os import time import logging.handlers # 日志打印等级...

像蚂蚁一样工作,像蝴蝶一样生活 3377

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python的logging模块

介绍python的logging模块

lishanlu136的博客 1318

Python-logging模块

一、日志级别 二、日志字典配置 三、模块使用

weixin_43988680的博客 3938

python logging模块

实际开发一个application,首先可以通过logging配置文件编写好这个application所对应的配置,可以生成一个根logger,如'PythonAPP',然后在主函数中通过fileConfig加载logging配置,接着在application的其他地方、不同的模块中,可以使用根logger的子logger,如'PythonAPP.Core','PythonAPP.Web'来进行log,而不需要反复的定义和配置各个模块的logger。通过YAML文件进行配置,比JSON看起来更加简介明了,

2401_86940371的博客 1821

Python Logging 模块详解

可以通过继承自定义日志格式化器,实现更复杂的格式需求。record.msg = f"自定义前缀:import logging class CustomFormatter(logging . Formatter) : def format(self , record) : record . msg = f"自定义前缀: {

weixin_43580791的博客 1104

Python入门:常用模块—logging模块

12。

liudefang的专栏 1161
上一篇: python基础操作——正则表达式
下一篇: APP性能测试_启动时间
Meryoufdd
博客等级 码龄5年 13粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值