2024年Python最全100天精通Python(基础篇)——第32天:日志标准库logging(1),2024年最新揭秘今年Python春招面试必问问题有哪些

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

通过记录和分析日志可以了解一个系统 或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。例如:开发者可通过在控制台上输出的各种日志进行程序调试;运维人员在接收到报警或各种问题反馈后,进行问题排查时通常都会先看各种日志,大部分问题都可在日志中找到答案。日志的作用可总结为3点:

  • 1、程序调试

  • 2、了解软件程序运行情况,是否正常

  • 3、软件程序运行故障分析与问题定位

3、日志的级别


日志的级别有很多,我们一般只用四个,日志级别由低到高DEBUG - INFO - WARN - ERROR

  • DEBUG(调试):开发调试日志。一般来说,在系统实际运行过程中,不会输出该级别的日志。因此,开发人员可以打印任何自己觉得有利于了解系统运行状态的东东。不过很多场景下,过多的DEBUG日志,并不是好事,建议是按照业务逻辑的走向打印。打个比方,打印日志就像读书时划重点,如果导出都是重点,也就失去了重点。

  • INFO(通知):INFO日志级别主要用于记录系统运行状态等关联信息。该日志级别,常用于反馈系统当前状态给最终用户。所以,在这里输出的信息,应该对最终用户具有实际意义,也就是最终用户要能够看得明白是什么意思才行。

  • WARN(警告):WARN日志常用来表示系统模块发生问题,但并不影响系统运行。 此时,进行一些修复性的工作,还能把系统恢复到正常的状态。

  • ERROR(错误):此信息输出后,主体系统核心模块正常工作,需要修复才能正常工作。 就是说可以进行一些修复性的工作,但无法确定系统会正常的工作下去,系统在以后的某个阶段,很可能会因为当前的这个问题,导致一个无法修复的错误(例如宕机),但也可能一直工作到停止也不出现严重问题。

4、日志的内容


一条日志信息对应的是 一个事件的发生,而一个事件通常需要包括以下内容:

  • 1、发生时间

  • 2、发生位置

  • 3、严重程度,即 日志级别

  • 4、内容

上述都是一条日志记录中可能包含的字段信息。还可能包括一些其他信息,如进程ID、进程名称、线程ID、线程名称等。

日志格式是用来定义一条日志记录中包含哪些字段的,而且日志格式通常是可以自定义的。

PS:输出一条日志时,日志内容、日志级别是需要开发人员明确指定的。对于其他字段信息,只需要是否显示在日志中即可。

5、怎么使用日志


在Python中,提供了一个用于记录日志,功能强大、使用简单的标准库模块logging

二、logging基础介绍

===============================================================================

在部署项目时,不可能直接将所有的信息都输出到控制台中,我们可以将这些信息记录到日志文件中,这样不仅方便我们查看程序运行时的情况,logging模块提供了在项目出现故障时根据运行时产生的日志快速定位问题出现位置的功能。

import logging

1、logging库日志级别


问题思考:

  • 开发人员在开发一个应用程序时需要什么日志信息?在程序正式上线后需要什么日志信息?

  • 运维人员在部署开发环境时需要什么日志信息?在部署生产环境时需要什么日志信息?

根据需求选择不同的日志级别

| 级别 | 级别数值 | 使用时机 |

| — | — | — |

| DEBUG | 10 (级别最低) | 详细信息,常用于调试。 |

| INFO | 20(重要) | 程序正常运行过程中产生的一些信息。 |

| WARNING | 30 (警告) | 警告用户,虽然程序还在正常工作,但有可能发生错误。 |

| ERROR | 40(错误) | 由于更严重的问题,程序已经不能执行一些功能了。 |

| CRITICAL | 50 (严重) | 严重错误,程序已经不能继续运行。 |

默认情况是日志级别是warning,日志级别从上到下依次升高,即 DEBUG < INFO < WARNING < ERROR < CRITICAL。而日志的信息量是依次减少的。

开发应用程序 或部署开发环境时:应该使用DEBUG 或INFO级别的日志获取尽可能详细的日志信息来进行开发或部署调试;

应用上线 或部署生产环境时:应该使用WARNING或CRITICAL级别的日志来降低机器的I/O压力和提高获取错误日志信息的效率

PS:当为某个应用程序指定一个日志级别后,应用程序会记录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值