python中打印日志

这篇具有很好参考价值的文章主要介绍了python中打印日志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、日志介绍
1、日志级别:日志的优先级、重要性或者严重程度
2、日志的作用:调试程序,跟踪定位bug,分析用户行为与数据统计
3、常见的日志级别(从小级别到大级别排序):
        debug:调试级别,打印非常详细的日志信息,通常用于代码调试
        info:信息级别,打印一般的日志信息,突出强调程序的运行过程
        warming:警告级别,打印警告信息,表明可能出现潜在的错误
        error:错误级别,打印错误异常信息,该级别的错误可能导致程序无法运行
        critical:严重错误级别,这表明系统可能无法继续运行
4、当指定日志级别后,程序会记录所有日志级别大于或者等于指定级别的东西
5、日志的格式:
        %(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 打印日志的信息

二、logging用法

基本用法:

# 导库,一个标准的第三方库用于日志的打印
import logging
# 基本用法
logging.debug('这是一条调试信息')
logging.info('这是日志信息')
logging.warning('打印警告')
logging.error('这是一条错误信息')
logging.critical('这是一条严重错误信息')

输出信息如下:

WARNING:root:打印警告
ERROR:root:这是一条错误信息
CRITICAL:root:这是一条严重错误信息

上述代码中我们打印了五种日志,但是输出结果只有三种,这是因为指定日志级别后,程序会记录大于或者等于指定级别的日志,下面我们来指定打印debug级别的日志:

# 导包
import logging

# 设置日志级别 打印日志
logging.basicConfig(level=logging.DEBUG)
# 基本用法
logging.debug('这是一条调试信息')
logging.info('这是日志信息')
logging.warning('打印警告')
logging.error('这是一条错误信息')
logging.critical('这是一条严重错误信息')

输出结果如下:

DEBUG:root:这是一条调试信息
INFO:root:这是日志信息
WARNING:root:打印警告
ERROR:root:这是一条错误信息
CRITICAL:root:这是一条严重错误信息

我们还可以指定日志的格式,演示输出时的日志格式化:

python 打印日志,python

import logging
fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
# 设置日志级别 打印日志
logging.basicConfig(level=logging.DEBUG,format=fm)
# 基本用法
logging.debug('这是一条调试信息')
logging.info('这是日志信息')
logging.warning('打印警告')
logging.error('这是一条错误信息')
logging.critical('这是一条严重错误信息')

 输出信息如下:

2023-07-17 22:48:59,062 DEBUG [root] [logger.py] [<module>:36]
2023-07-17 22:48:59,063 INFO [root] [logger.py] [<module>:37]
2023-07-17 22:48:59,063 WARNING [root] [logger.py] [<module>:38]
2023-07-17 22:48:59,063 ERROR [root] [logger.py] [<module>:39]
2023-07-17 22:48:59,063 CRITICAL [root] [logger.py] [<module>:40]

我们还可以输出日志到指定的文件:

# 导库,一个标准的第三方库用于日志的打印
import logging


fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
# 设置日志级别 打印日志 设置日志打印的文件路径
logging.basicConfig(level=logging.DEBUG,format=fm,filename="testlog//log01.log")
# 基本用法
logging.debug('这是一条调试信息')
logging.info('这是日志信息')
logging.warning('打印警告')
logging.error('这是一条错误信息')
logging.critical('这是一条严重错误信息')

指定了日志打印的文件后点击运行,打开testlog文件夹下的log01文件,能发现已经打印了:

python 打印日志,python文章来源地址https://www.toymoban.com/news/detail-704375.html

到了这里,关于python中打印日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot JPA日志打印

    1、在springboot整合jpa后再配置文件applcation.yml的时候show-sql要设置为true 这时去执行请求,后台就会打印sql,但是不会现实参数,如果需要现在参数需要再在application.yml中添加下面的配置 这时去执行请求,后台就会将参数和sql都打印出来,但是sql和参数是分开的。 下面我们让

    2024年02月15日
    浏览(32)
  • 日志打印最佳实践

    标题为什么要记录日志? 打印调试 :用日志来记录变量或者某一段逻辑,记录程序运行的流程,即程序运行了哪些代码,方便排查逻辑问题。 问题定位 :程序出异常或者出故障时快速的定位问题,方便后期解决问题。因为线上生产环境无法debug,在测试环境去模拟一套生产环

    2024年02月03日
    浏览(21)
  • Springboot切面打印日志

    切面打印完整日志,以下代码用于扫描@RestController 注解修饰的接口,并打印相关日志

    2024年02月14日
    浏览(22)
  • mybatis打印sql日志

    我们日常操作数据库的过程一般都是使用mybatis中执行sql操作,有时候为了确认mybatis拼接的sql是否正确,就需要在日志中打印出具体的sql语句,对应的入参以及数据库的返回值 一.sql日志输出到控制台,修改mybatis-config文件,指定如下配置: 二.sql日志输出到文件,修改mybatis

    2024年02月15日
    浏览(30)
  • springboot打印sql日志

    相信大家在项目调试的时候都遇到过最后数据库查询、或者插入的数据与自己所想的不符,但是又不知道具体哪里出问题了。 下面就教大家如何打印mybatis最终生成并执行的sql。 我们直接搜索org.apache.ibatis.logging.jdbc包下的ConnectionLogger、PreparedStatementLogger、ResultSetLogger等类。

    2023年04月11日
    浏览(24)
  • Hive终端命令行打印很多日志时,如何设置日志级别

    示例:use test; 切换到test数据库时,输出很多日志信息不方便看结果,如下图。   解决方法: 退出hive命令行界面(ctrl+C) 执行“vi /usr/local/apache-hive-3.1.2-bin/conf/log4j.properties”命令,创建并编辑log4j.properties文件,添加以下内容。(完成后保存退出)   再次通过“hive”指令进

    2024年02月13日
    浏览(27)
  • logbak日志单独打印(方法层级)

    问题 前几天朋友在群里问,怎么针对方法打印打印日志,不是针对类。 解决办法 方法层 logback 配置文件 这一步已经做到根据方法打印log日志,但是朋友的具体需求 竟然是针对每调用一次方法,生成一个配置文件 直接在方法层实现 每调用一次,输出一份文件

    2024年02月22日
    浏览(24)
  • Mybatis设置sql打印日志

    第一种:使用 mybatis 自带的打印 第二种:使用 log4j 日志打印 备注:log4j 运行级别调到DEBUG,可以在控制台打印出mybatis运行的sql语句。 #将等级为DEBUG的日悲信虑出到console和file这网个日的地,console和file的定义在下面的代码 log4j.rootLogger=DEBUG,console,file #控制台输出的相关设置

    2024年02月06日
    浏览(43)
  • Android JNI打印logcat日志

    在 JNI 中打印日志可以使用 __android_log_print 函数来实现。该函数是 Android NDK 提供的一个用于在本地代码中输出日志消息到 logcat 的方法。 要在 JNI 中打印日志,请按照以下步骤进行操作: 在你的 JNI C/C++ 代码中包含 android/log.h 头文件: 使用 __android_log_print 函数来打印日志。它

    2024年02月09日
    浏览(30)
  • Tomcat中间件打印请求日志

    修改conf下的 server.xml 文件中的 Valve 配置 主要修改pattern的值 相关pattern的含义可以参考官方文档,这里贴上方便查询 最后打印格式如下 在SpringBoot使用嵌入式Tomcat可以在配置文件中按照如下配置 directory可以配置相对路径或绝对路径,如果是相对路径,那么最终会放在Tomcat的基

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包