python Loging 入门

python Logging日志记录模块详解 写在篇前   logging是Python的一个标准库,其中定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统。Python logging 的配置由四个部分组成:Logger、Handlers、Filter、Formatter。本篇博客将依次介绍这四个主要部分以及logging的基本应用。   在开始之前,我们有必要先了解一下,什么时候我们才有必要使用logging模块,什么时候抛出... 阅读详情

初级教程

Logning 模块定义了很多方法和类,为application和libraries实现了一个灵活的事件记录系统。

 

什么时候使用Log:

 

Task you want to perform

The best tool for the task

Console 中展示

print()

程序正常运行时的事件

logging.info() (or logging.debug() for very detailed output for diagnostic purposes)

关于某个运行时事件,发出警告

warnings.warn() in library code if the issue is avoidable and the client application should be modified to eliminate the warning

logging.warning() if there is nothing the client application can do about the situation, but the event should still be noted

抛出异常

Raise an exception

Report suppression of an error without raising an exception (e.g. error handler in a long-running server process)

logging.error(), logging.exception() or logging.critical() as appropriate for the specific error and application domain

 log 的等级:

Level

When it’s used

DEBUG

诊断错误时候的详细信息

INFO

程序正常运行,用来确认信息

WARNING

程序正常运行,但是警告某个未来可能发生的问题,或者未预料的事情

ERROR

严重问题,某些功能无法实现

CRITICAL

严重错误,程序无法运行

默认Level 是WARNING,默认只有WARNING,ERROR, CRITICAL会被追踪。

例子:

importlogging

logging.debug(
"debug")
logging.info(
'info')
logging.warning(
"warning")
logging.error(
'error')
logging.critical(
"critical")

 

 输出:

D:\software\python-2.7.9\python.exe D:/Django-workspace/hello_world/Log/Log_Text.py
WARNING:root:warning
ERROR:root:error
CRITICAL:root:critical

 

把日志写入文件

basicConfig函数传入两个参数,一个是文件名,一个是Log Level

 

logging.basicConfig(filename="example.log",level=logging.DEBUG)
logging.debug("debug")
logging.info('info')
logging.warning("warning")
logging.error('error')
logging.critical("critical")
 

 

运行后目录下生成example.log文件。

打开后:

 

设的Level 是DEBUG所以,五个LEVEL的信息都打印出来了。

 

Refresh日志:

logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)

如果不设置filemode 参数,多次运行某脚本,每次运行的message会都附加在exmaple.log后。设置后,多次运行脚本,exmaple.log 都会被清除

多模块记录

当程序中有多个模块时,该怎么记录日志?

# myapp.py
importlogging
importmylib
 
defmain():
    logging.basicConfig(filename='myapp.log', level=logging.INFO)
    logging.info('Started')
    mylib.do_something()
    logging.info('Finished')
 
if __name__ =='__main__':
    main()
# mylib.py
importlogging
 
defdo_something():
    logging.info('Doing something')

运行myapp.py ,结果如下:

INFO:root:Started
INFO:root:Doing something
INFO:root:Finished

记录多变量:

用%s的格式,将变量作为参数,

 

importlogging
logging.warning('%s before you %s','Look','leap!')

结果:
WARNING:root:Look before you leap!
 

展示格式

为展示时间,需要在格式日志中加入‘%(asctime)s’

importlogging
logging.basicConfig(format='%(asctime)s%(message)s')
logging.warning('is when this event was logged.')

结果:

2010-12-12 11:41:42,612 is when this event was logged.

默认是ISO8601格式展示,我们可以提供datefmt 参数给basicConfig函数来改变格式


importlogging
logging.basicConfig(format='%(asctime)s%(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
logging.warning('is when this event was logged.')

 

晶圆测试(wafer sort)全流程解析:从探针卡到良率统计的实战指南 本文详细解析了晶圆测试(wafer sort)的全流程,从探针卡选型到良率统计的实战指南。涵盖了12英寸先进制程产线的关键技术,包括探针卡系统、测试程序开发、产线自动化集成及数据分析,特别聚焦多站点并行测试的时序优化和接触阻抗异常排查,帮助工程师提升测试效率与准确性。 阅读详情

相关推荐

BES平台集成第三方音频算法避坑指南:以声加ENC为例,聊聊文件放置、内存分配与授权那些事

本文详细解析了在BES平台上集成声加ENC降噪算法的全流程,包括技术选型、系统架构设计、内存管理及量产授权等关键环节。特别针对BES平台的双核架构和内存限制,提供了文件放置、内存分配与授权验证的实用解决方案,帮助开发者高效实现音频算法集成。

weixin_33720956的博客 514

Python的Logging模块

万字长文带你学透Python的Logging模块,文章通俗易懂且带有相关代码演示,具体案例助你理解

m0_60981735的博客 1万+

PCIe中ACS知识小记

虚拟机内部的访问数据显而易见是带的GPA地址。而目前几乎所有的PCIe 设备都带ACS control,所以它们可以单独assign给不同的VM,但是随之而来的就是即使两个GPU同时assign给同一个VM,由于ACS的存在,他们之间也不会有真正的物理层面的P2P访问。每一个TLP都自带一个address(寻址类TLP),同时每一个endpoint,PCIe switch都自带一段BIOS配置的地址空间范围,一旦这个TLP的address落入某个设备的地址范围,那么这个TLP就属于这个设备并消费。

Summer的博客 5078

Python 日志详解(logging)

Python 日志详解(logging)

鱼丸丶粗面 8910

数据助力行业发展:BJTU-RAO转向架数据集介绍

BJTU-RAO转向架数据集是完全公开的,何研究人员皆可以通过后文的下载链接免费下载数据,且在标注数据来源的前提下,研究人员可以自由使用BJTU-RAO转向架数据集。因此,聚焦各类列车转向架传动系统在途安全保障新技术研究和新算法开发,实现牵引电机、驱动齿轮箱和轴箱等关键部件的实时状态监测与智能故障诊断,对保障列车安全可靠运行具有重要的现实意义。BJTU-RAO转向架数据集包含51种健康状态的样本,涵盖正常状态、部件级单一故障、部件级复合故障以及系统级关联复合故障,数据量达116GB。

2401_88870554的博客 3501

基于Vivado MIG IP核的DDR3读写实验(top_rom_ddr/ddr_top)

一、前言 关于Vivado MIG IP核详细配置可以参考我之前的文章:基于Vivado MIG IP核的DDR3控制器(DDR3_CONTROL) 关于MIG IP核的用户端的接口时序可以参考这篇文章:XILINX 的 MIG IP(非AXI4)接口时序以及控制 二、实验内容 本次实验的内容主要是通过MIG IP核向DDR3读写数据,DDR3的接口时序由ddr_top模块提供: ddr_top模块的数据来源是wr_fifo,wr_fifo的数据实际来自top_sd_photo模块(本实验仿真

耐心的小黑的博客 3027

Python中的logging模块解析

前言 在自动化测试中,为了定位问题,调试框架代码,需要使用日志模块,今天我们重点讲解Python中的logging模块,在学习使用logging模块前,我们先要了解logging模块的四大天王:logger、handler、filter、formatter 一.logging模块的四大组件 logger:日志器,提供程序可使用的接口 handler:处理器,用于写入日志文件并输出到指定位置,如文件、控制台或网络等 filter:过滤器,用于输出符合指定条件的日志记录 formatter:..

测试界的彭于晏的博客 1万+

基于Java+SpringBoot+微信小程序实现奶茶点单系统

再不用担心逢年过节的第一杯奶茶有没有人送了,制作一个奶茶点单系统自己当店主,开怀畅饮,一劳永逸。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

Python的logging模块(日志、DEBUG、INFO、WARNING、ERROR、CRITICAL)

Python的logging模块(日志、DEBUG、INFO、WARNING、ERROR、CRITICAL)

Le0v1n 的博客 1万+

【深度学习驱动流体力学】Python流体力学Ansys Fluent

PyFluent 是一个将 Python 编程语言与 Ansys Fluent 流体动力学 (CFD) 仿真软件集成的工具。它允许用户通过 Python 脚本来控制和自动化 Fluent 中的仿真任务,实现从预处理、求解到后处理的全流程控制。PyFluent 结合了 Python 的灵活性和 Fluent 的强大功能,提供了一种高效且灵活的 CFD 仿真方法。PyFluent 是一个强大而灵活的工具,使用户能够通过 Python 脚本全面利用 Ansys Fluent 的功能。

源代码杀手的博客 3123

【论文复现】——基于改进FPFH特征提取的点云模板匹配方法

基于改进FPFH特征提取的点云模板匹配方法 [J]. 应用激光, 2024, 44 (04): 196-204.

点云侠的博客 611

入门loging【python】模块-看了就能用

1. loging框架 主要分为4个框架: Loggers:可供程序直接调用的接口,app通过调用提供的api来记录日志 Handlers:决定将日志记录分配至正确的目的地 Filters:对日志信息进行过滤, 提供更细粒度的日志是否输出的判断 Formatters:制定最终记录打印的格式布局 2. loging日志级别 主要分为5个级别: DEBUG :详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一些意想不到的事情发生了,或表明一些问题在不久的将来会出现(例如:

XIAOFEI@IDO 1639

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python入门之loging模块_模块介绍使用

一、日志模块 1、日志作用:日志记录程序的执行过程 2、日志要素 2.1:日志渠道:日志的输出位置,文件,控制台 2.2:日志级别:info、debug、error 2.3:日志格式:日志输出样子 2.4:日志内容:自己输出的内容,或者是报错信息 二、日志级别 debug < info < warning < error < critical debug(代码调式的输出) info(表示程序正常执行的输出) warni.

liuhjhh的博客 626

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【python】loging初始化

这里写自定义目录标题设置config,方便后边调用对应代码初始化loging模块 设置config,方便后边调用 在项目文档中,建立config文件夹,并在里面建立common.py文件 import os import sys import time LOGGER_NAME = 'api_log' MAIN_SCRIPT_PATH = os.path.dirname(sys.argv[0]) LOG_BASE_PATH = os.path.join(MAIN_SCRIPT_PATH, 'log')

Riowang的博客 1319

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python loging_python logging

使用logging打印日志到标准输出;默认是logging.warning模式;将日志写入到文件,2种方式;方式1:使用logging.baseConfig()将日志输入到文件,os.getcwd() #返回当前工作目录;logging.basicConfig函数各参数:filename:指定日志文件名;filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';forma...

weixin_39814960的博客 104

python的日志模块loging

<br />如果使用Python写一个比较大型的程序,你一定会用上日志系统。特别是Python这样的动态语言,很多错误都只能在运行的时候才能发现,一个<br /> 好的日志系统对于Python程序相当重要。最简单的解决方案当然是直接使用print输出运行信息。但是这样太简单了,没有分级功能,如果在发布的时候<br /> 想去掉调试用的运行信息还得找出所有的print语句进行修改。再者,print只能输出到控制台,想要输出到文件或者通过电子邮件发送到其他地方,一个<br /> print语句就没办法解决

leonruan的专栏 2384

loging模块

单文件日志 1 2 3 4 5 6 7 8 9 10 11 12 13 14 importlogging logging.basicConfig(filename='log.log', format='%(asctime)s ...

afd2828的博客 203

python调试之 loging 模块

python loging 模块: import logging logging.basicConfig(level = logging.INFO,format = '%(levelname)s - %(message)s') logging.info(&quot;Start print log&quot;) logging.debug(&quot;Do something&quot;) logging.warning(&quot;Some...

leifei2012的博客 435

Python日志输出——loging模块

1. logging介绍         Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式。         logging模块与log4j的机制是一样的,只是具体的实现细节不同。模块提供lo

心若动、泪千行 1096

python 标准日志模块loging 及日志系统实例

本文出处:https://www.cnblogs.com/goodhacker/p/3355660.html#undefined   python的标准库里的日志系统从Python2.3开始支持。只要import logging这个模块即可使用。如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 1 import logging 2 ...

dianqianwei8752的博客 186

【Python】(十四)os模块、sys模块、time模块、loging模块

文章目录1.os模块2.sys模块3.time模块4.logging模块 1.os模块 os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记。 ...

云祁QI 1384

日志体系——loging

import loggingclass log: def __init__(self): # 文件的命名      self.logname=os.path.join(os.path.abspath(os.path.dirname(__file__)),'log.txt') self.logger = logging.getLogger() ...

dianbachan6348的博客 246

loging日志的使用

2.日志: 记住怎么使用就好了 自己定义日志开始 import logging logger = logging.getLogger() # 创建一个logger fh = logging.FileHandler('test.log',mode="a",encoding='utf-8') # 文件 ch = logging.StreamHandler() # 屏幕 formatter =...

banxiaoquan2463的博客 222
上一篇: Python:用 ElementTree工具解析Maven,Pom.xml文件
下一篇: python Logger 高级教程
yes1cpp
博客等级 码龄14年 15粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值