记录日志模块怎么在python中使用

  

日志日志模块怎么在python中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

前言

日志是对于软件执行所发生的事件的一种追踪记录方式。日常使用过程中对代码执行的错误和问题会进行查看日志来分析定位问题所在。平常编写代码以及调试也经常用的到。通常的新手的做法是直接打印打印,但是打印的结果只在控制台显示。今天我们学习一种高级的日志打印和记录模块记录。

日志提供了一系列的函数,它们是调试(),(),信息警告(),误差(),()和关键。

他们的使用场景请看下表

你想要执行的任务此任务的最好的工具对于命令行或程序的应用,结果显示在控制台.print()在对程序的普通操作发生时提交事件报告(比如:状态监控和错误调查)logging.info()函数(当有诊断目的需要详细输出信息时使用logging.debug()函数)提出一个警告信息基于一个特殊的运行时事件warnings.warn()位于代码库中,该事件是可以避免的,需要修改客户端应用以消除告警logging.warning()不需要修改客户端应用,但是该事件还是需要引起关注对一个特殊的运行时事件报告错误引发异常报告错误而不引发异常(如在长时间运行中的服务端进程的错误处理)logging.error (), logging.exception()或logging.critical()分别适用于特定的错误及应用领域

日志功能分别对各种事件和严重性都进行分级。

名称何时使用等级调试细节信息,仅当诊断问题时适用.10INFO确认程序按预期运行20预警表明有已经或即将发生的意外(例如:磁盘空间不足)。程序仍按预期进行30误差由于严重的问题,程序的某些功能已经不能正常执行40关键严重的错误,表明程序已不能继续执行50

示例

简单示例

因为是python自带的所以无需安装,默认的级别是警告,所以下面只显示一条警告信息。

import 日志记录   logging.warning(& # 39;却;能够is 预警# 39;)   logging.info(& # 39;却;能够is 信息# 39;)

日志日志模块怎么在python中使用“> </p> <h4>更改级别</h4> <p>我们将默认的级别改成最低级别,则会打印同级别以及高级别的日志信息</p> <pre类= import  logging    logging.basicConfig(水平=logging.DEBUG)   logging.debug(& # 39;却;能够is 调试# 39;)   logging.info(& # 39;却;能够is 信息# 39;)   logging.warning(& # 39;却;能够is 预警# 39;)   logging.error(& # 39;却;能够is 错误# 39;)

日志日志模块怎么在python中使用“> </p> <h4>保存日志</h4> <p>只是打印到控制台对于少量信息倒是可控,但是信息量大的时候就不方便查找了。那么我们需要将其保存到文件中。</p> <pre类= import  logging    logging.basicConfig(水平=logging.DEBUG文件名=& # 39;log.log& # 39;,格式=& # 39;% (asctime) s 作用;% (lineno) s 作用;% (levelname) s 作用;%(消息)& # 39;)   时间=logger  logging.getLogger (__name__)   logger.debug(& # 39;却;能够is 调试# 39;)   logger.info(& # 39;却;能够is 信息# 39;)   logger.warning(& # 39;却;能够is 预警# 39;)   logger.error(& # 39;却;能够is 错误# 39;)

日志日志模块怎么在python中使用“> </p> <p>上面我们在保存的时候,同时还添加了其他描述信息,比如执行时间,执行代码行数,日志级别,打印消息。当然方法远不止这些,具体请看下表</p>属性名称格式描述arg游戏你不需要自己设置格式。参数元组被合并到味精中以产生消息,或者其值被用于合并的词典(当只有一个参数时,它是一个字典).asctime % (asctime)类创建时的可读时间。默认情况下,这是& # 39;2003-07-08 16:49:45,896& # 39;的格式(逗号之后的数字是毫秒部分)共创%(创建)的F创建的时间(由时间。时间()返回).exc_info你不需要自己设置格式。异常元组(ala sys.exc_info)或,如果没有发生异常,则为无.filename %(文件名)类路径名的文件名部分.funcName % (funcName)类包含日志记录调用的函数的名称.levelname % (levelname)■文本消息级别(& # 39;调试# 39;& # 39;信息# 39;,& # 39;预警# 39;,& # 39;错误# 39;,& # 39;关键# 39;).levelno % (levelno) s消息的数字记录级别(调试、信息、警告、错误、关键).lineno % (lineno) d发出日志记录调用的源行号.module %(模块)类模块(文件名称部分).msecs %(毫秒断开)d创建时的毫秒部分.message %(消息)类记录的消息,计算为味精% arg游戏。这是在调用格式化程序。format()时设置的.msg你不需要自己设置格式。在原始日志记录调用中传递的格式字符串。与args合并生成消息或任意对象(请参阅使用任意对象作为消息). name %(名字)类用于记录呼叫的记录器的名称.pathname %(文件名)类发出日志记录调用的源文件的完整路径名.process %(流程)d进程ID.processName % (processName)类进程名称.relativeCreated % (relativeCreated) d相对于加载日志记录模块的时间,LogRecord创建时的时间(以毫秒为单位).thread %(线程)d线程ID.threadName % (threadName)类线程名称。<h2 class=记录日志模块怎么在python中使用