当前位置: 首页 > 后端技术 > Python

零配置python日志,安装使用

时间:2023-03-26 01:38:51 Python

编写多年的python日志是使用内置的logging模块完成的,使用时需要繁琐的配置。有时,可能会丢失日志,直到出现loguru。[阅读全文]loguru真的很简单。安装后直接导入python代码块即可直接使用。1.安装环境还是按照pip方式安装,默认使用清华大学的镜像站。pipinstallloguru-ihttps://pypi.tuna.tsinghua.ed...安装完成后就可以直接开始使用了。2、定时打印日志在控制台打印定时日志时,可以直接使用,不需要添加任何配置。使用后,我们可以验证打印效果。fromloguruimportlogger#使用debug级别打印一行loglogger.debug('Iamdebugmessage.')下面是我在pycharm上取下来的日志渲染。可以看到效果还是比较满意的,配色也挺好看的,日志时间精确到了秒级。你想看的日志信息基本都有了。3、写入日志文件写入日志文件比较简单,无需配置,调用add函数添加文件即可。#添加日志文件logger.add('./message-info.log')#打印一行debug日志logger.debug('Iamdebugmessage.')这时候不仅会出现一行log控制台,还有消息-调试日志消息也写入info.log文件中。如果写文件的时候想指定自己的输出格式,可以直接在add函数中设置,也可以设置输出到日志文件的级别。#将info级别的日志按照特定格式写入日志文件log=logger.add('./info.log',format='{time}|{level}|{message}',level='INFO')#此时打印更多info级别的日志logger.info('我是info消息<1>.')logger.info('我是info消息<2>.')logger.info('我是info消息<3>.')logger.info('我是infomessage<4>.')logger.info('我是infomessage<5>.')下面是pycharm控制台打印的日志效果下面是显示日志文件中的效果和我们设置的日志格式是一样的。4.停止写入日志文件。在上面的过程中,我们在将自定义日志格式的日志信息添加到info.log文件中时,特意返回了一个日志变量。这个日志实际上返回了一个日志文件的id。当需要停止向日志文件写入日志时,只需要调用remove函数传入文件的日志id作为参数,即可停止向日志文件写入日志。.#停止将日志写入日志文件logger.remove(log)此时,后续的日志文件将不再写入日志文件。5.滚动日志文件在实际情况下,我们并不只有一个日志文件。当日志文件超过一定大小时,或者在特定时间段内,可以通过参数设置生成新的日志文件继续记录日志。#生成一个超过10M的新日志文件logger.add('info.log',rotation='10MB')#生成一个新的日志文件logger.add('info.log',rotation='01everymorningat1:01:00')另外,为了防止日志文件在长时间记录后占用磁盘,一般可以设置30天为一个周期清理日志文件,这样就解决了磁盘满的问题。#设置日志文件的保留时间为30天logger.add('info.log',retention='30days')通常情况下,日志文件如果按照原来的方式存放,还是会占用很多空间.loguru也帮我们想到了,就是在指定文件压缩格式后,对日志文件进行压缩。logger.add('info.log',compression='zip')6.异常日志是在实际编码过程中捕获的,尤其是在生产环境中。如果一些异常信息没有写入日志文件,那是特别特别难受的。在生产环境中,日志记录是解决问题的唯一方法。Loguru提供注解直接将异常函数信息写入日志文件。例如,有这样一个功能,在运行过程中出现异常。@logger.catchdeffunc(param):return10/paramfunc(0)上面这个函数在分母为0的时候肯定会抛出异常,如果我们使用注解@logger.catch就会写入异常信息。同时,日志文件中也会记录详细的异常信息。【优秀往期】英语学不好能做coder吗?先不着急学...数据清理利器flashtext直接让效率提升几十倍!一个帮助函数解决所有pythonView的文档信息...python自定义异常/raise关键字抛出异常python本地音乐播放器制作过程(附完整源码)