零配置python日志,安装即用

写了很多年的python日志都是使用内置的logging模块来完成的,使用时都需要经过繁琐的配置。有时候,还可能出现丢失日志的情况,直到loguru的出现。

【阅读全文】

loguru真的是十分的简单的,安装之后直接导入到python代码块中即可直接使用。

1、安装环境

我们还是按照pip的方式来进行安装,默认使用清华大学的镜像站。

pip install loguru -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后就可以直接开始使用了。

2、常规日志打印

在控制台打印常规日志时不用添加任何的配置直接使用,使用完成后我们可以来验证一下打印效果。

from loguru import logger

# 使用debug级别打印一行日志

logger.debug('I am debug message.')

下面是我在pycharm上面取下来的日志效果图。

file

可以看一下效果还是令人满意的,这颜色搭配也比较nice,并且日志时间精确到秒级。想要看到的日志信息也基本囊括了。

3、写入日志文件

想写入日志文件也是比较简单不用配置,只需要调用add函数添加文件即可。

# 添加日志文件

logger.add('./message-info.log')

# 打印一行debug日志

logger.debug('I am debug message.')

此时,不仅控制台会出现一行日志,并且在message-info.log文件中也写入了一条dubug日志信息。

若是在写入文件时想要指定自己的输出格式,则可以直接在add函数直接设置即可,同时可以设置输出到日志文件中的级别。

# 按照特定的格式将info级别的日志写入到日志文件中

log = logger.add('./info.log',format='{time} | {level} | {message}',level='INFO')

# 这时,多打印一些info级别的日志

logger.info('I am info message <1>.')

logger.info('I am info message <2>.')

logger.info('I am info message <3>.')

logger.info('I am info message <4>.')

logger.info('I am info message <5>.')

下面是在pycharm控制台打印的日志效果

file

下面是日志文件中的展示效果,跟我们设定的日志格式是一样的。

file

4、停止写入日志文件

在上述过程中我们添加自定义日志格式的日志信息到info.log文件中时特意返回了一个log变量。

这个log其实是返回了一个日志文件的id,在需要停止向该日志文件中写入日志时,只需要调用remove函数将该文件的日志id作为参数传入即可停止向日志文件中写入日志。

# 停止向日志文件中写入日志

logger.remove(log)

此时,后面的 日志文件将不会再写入日志文件中了。

5、滚动记录日志文件

在实际情况中,我们并不是只会有一个日志文件。当一个日志文件超过一定的大小、或是在一个特定的时间周期都可以通过参数的设定来生成新的日志文件继续记录日志。

# 超过10M生成一个新的日志文件

logger.add('info.log',rotation='10 MB')

# 每天凌晨一点生成一个新的日志文件

logger.add('info.log',rotation='01:00')

并且,为了防止日志文件在长时间的记录之后占用磁盘,一般还可以设置30天为周期清理日志文件,这样就又解决了磁盘爆满的问题。

# 设置该日志文件保留的时间为30天

logger.add('info.log',retention='30 days')

通常日志文件如果按照原始的方式存储,那么占用空间还是比较大的。loguru也为我们想到了,就是通过指定文件压缩的格式之后将日志文件进行压缩。

logger.add('info.log',compression='zip')

6、异常日志捕获

在实际coding过程中,特别是生产环境,若是出现一些异常信息没有被写入到日志文件中的情况时是特别难受的。在生产环境中,日志是解决问题的唯一办法。

loguru提供了注解的方式可以将发生异常的函数信息直接写入日志文件中,比如,有这样一个函数在运行过程中发生了异常。

@logger.catch
def func(param):

    return 10 / param

func(0)

上面这个函数在分母是0的时候肯定是会抛出异常的,我们使用注解@logger.catch异常信息就会被写入。

file

同时,在日志文件中也会记录详细的异常信息。

file

【往期精彩】

file

英语没学好到底能不能做coder,别再纠结了先学起来...

数据清洗工具flashtext,效率直接提升了几十倍数!

一个help函数解决了python的所有文档信息查看...

python 自定义异常/raise关键字抛出异常

python 本地音乐播放器制作过程(附完整源码)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零配置python日志,安装即用 - Python技术站

(0)
上一篇 2023年4月2日 下午5:24
下一篇 2023年4月2日

相关文章

  • ping命令的多种玩法,以前竟然只用它来测试网速!

    作为开发人员,ping命令无疑是使用比较多的工具,我们经常在需要判断与服务器的连接是否连桶时需要使用ping命令来测试。 【阅读全文】 一般情况下使用ping命令来判断路由地址是否连通,再配合使用telnet判断该地址得网络端口是否能够完成请求。今天才发现一个简单的ping命令的使用竟然有这么多的妙用。 关于ping命令的作用这里就不多讲了,大家肯定都是经常…

    2023年4月2日
    00
  • 我使用pangu模块做了一个文本格式化小工具!

    其实使用pangu做文本格式标准化的业务代码在之前就实现了,主要能够将中文文本文档中的文字、标点符号等进行标准化。 阅读全文 但是为了方便起来我们这里使用了Qt5将其做成了一个可以操作的页面应用,这样不熟悉python的朋友就可以不用写代码直接双击运行使用就OK了。 为了使文本格式的美化过程不影响主线程的使用,特地采用QThread子线程来专门的运行文本文档…

    2023年4月2日
    00
  • python-turtle绘制雪容融,已打包成exe可直接运行

    之前我们放出了冰墩墩绘制的源代码,雪容融的绘制却是一直没有。今天在逛论坛的时候终于发现有大佬写出来了,给大佬递茶!先来看看绘制的效果如何,个人觉得还是很惟妙惟肖的,哈哈哈~ 阅读全文 由于本文主要是通过图片的方式来展示代码块的实现过程的,需要完整源代码请前往文末查看源代码的获取方式。 话不多说,我们直接进入主题,说明一下我们改造以后的源代码,绘图的非标准库这…

    2023年4月2日
    00
  • python做了个自动关机工具,再也不会耽误我下班啦

    上班族经常会遇到这样情况,着急下班结果将关机误点成重启,或者临近下班又通知开会,开完会已经迟了还要去给电脑关机。 【阅读全文】 今天使用PyQt5做了个自动关机的小工具,设置好关机时间然后直接提交即可,下班就可以直接走人了。 有直接需要.exe可执行应用的话,直接到文末处获取下载链接! 自动关机小工具也支持了清除已经设置好的关机时间,防止已经设置好了关机时间…

    2023年4月2日
    00
  • python 本地音乐播放器制作过程

    制作这个播放器的目的是为了将下载下来的mp3文件进行随机或是顺序的播放。选择需要播放的音乐的路径,选择播放方式,经过测试可以完美的播放本地音乐。 【阅读全文】 在开始之前介绍一个免费下载mp3音乐的网站,有需要的可以下载自己喜欢的音乐。当然有各大音乐平台会员的大佬就不需要了。 http://music.y444.cn/#/ 缺少音乐素材的可以去免费下载即可,…

    2023年4月2日
    00
  • 周末自制了一个批量图片水印添加器!

    前段时间写了个比较简单的批量水印添加的python实现方式,将某个文件夹下面的图片全部添加上水印。 【阅读全文】 今天正好有时间就做了一个UI应用的封装,这样不需要知道python直接下载exe的应用程序使用即可。 有需要’批量图片水印添加器’的朋友可以直接跳过到文章末尾获取下载方式,下载.exe的可执行应用直接使用即可,下面主要来介绍一下实现过程。 首先,…

    2023年4月2日
    00
  • 记住这些windows网络操作命令,轻松搞定自己的电脑网络!

    windows操作系统中的网络操作主要是网络的配置、网络连接的监听、网络的路由跟踪、DNS服务器解析等等。 【阅读全文】 针对上面的这几项操作,整理了关于windows网络操作相关的使用方法。 1、网络配置 网络配置主要有ip地址、子网掩码、默认网关、DNS服务器地址,一般情况下,在公网的状态下这些地址都是自动获取的不需要我们进行特别的配置。 但是,在我们的…

    2023年4月2日
    00
  • 知识汇总:python办公自动化应该学习哪些内容

    【阅读全文】 当前python自动化越来越受到欢迎,python一度成为了加班族的福音。还有大部分人想利用python自动化来简化工作,不知道从何处下手,所以,这里整理了一下python自动化过程中的各种办公场景以及需要用到的python知识点。 Excel办公自动化 python 针对excel表格处理的非标准库应该是最多的,这也是把excel办公自动化放…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部