網(wǎng)站首頁 編程語言 正文
前言
在部署一些定時(shí)運(yùn)行或者長期運(yùn)行的任務(wù)時(shí),為了留存一些導(dǎo)致程序出現(xiàn)異?;蝈e(cuò)誤的信息,通常會(huì)才用日志的方式來進(jìn)行記錄這些信息。python內(nèi)置的logging
標(biāo)準(zhǔn)庫博主是沒用過,今天給大家介紹loguru
,loguru
庫的使用可以說是十分簡單,希望通過本文大家再也不用通過print來排查代碼了。
使用步驟
安裝庫
pip install loguru
簡單使用方法
from loguru import logger logger.debug("debug message") logger.info("info level message") logger.warning("warning level message") logger.critical("critical level message")
從這個(gè)可以看出,logger.debug、logger.info、logger.warning、logger.critical
不僅可以代替print
,還為輸出的日志信息帶上了不同的顏色樣式,使得結(jié)果更加美觀。
配置
使用基本的add()
方法就可以對(duì)logger
進(jìn)行簡單的配置。
logger.add("runtime_{time}.log", rotation="500 MB") # 文件過大于500M就會(huì)重新生成一個(gè)文件 logger.add("runtime_{time}.log", rotation="00:00") # 每天0點(diǎn)創(chuàng)建新文件 logger.add("runtime_{time}.log", rotation="1 week") # 文件每過一周就會(huì)創(chuàng)建新文件 logger.add("test_4.log", retention="5 days") # 只保留最近五天的日志文件 logger.add("test_5.log", compression="zip") # 以zip格式對(duì)日志進(jìn)行保存
其中time
為占位符:可以自動(dòng)生成時(shí)間,生成一個(gè)文件名包含時(shí)間的 log 文件。
異常追溯
當(dāng)遇到錯(cuò)誤是,如果在打印出log的時(shí)候沒有配置 Traceback 的輸出,很有可能無法追蹤錯(cuò)誤。loguru提供了裝飾器@logger.catch()
就可以直接進(jìn)行 Traceback 的記錄。
建議在程序開始運(yùn)行之前使用add()
方法新建一個(gè)運(yùn)行日志,這樣所有的日志都會(huì)被記錄到log之中。
from loguru import logger @logger.catch() def test(): return 1/0 if __name__ == '__main__': logger.add("test.log", retention="5 days") test()
總結(jié)
本文介紹了關(guān)于loguru
的常用方法,使用loguru 庫無疑還是很香的,畢竟別人已經(jīng)為我們一些日常的通用性需求提供了封裝好的解決方案,無論是在學(xué)習(xí)還是在使用的成本上,無疑還是比較小的。
原文鏈接:https://blog.csdn.net/JulyLi2019/article/details/122931683
相關(guān)推薦
- 2022-06-22 C語言詳解Z字形變換排列的實(shí)現(xiàn)_C 語言
- 2022-10-09 淺談重繪和回流的解析_基礎(chǔ)教程
- 2022-06-27 使用Golang搭建web服務(wù)的實(shí)現(xiàn)步驟_Golang
- 2023-07-08 windows編譯libevent報(bào)錯(cuò)
- 2023-01-07 Android?RecyclerBarChart繪制使用教程_Android
- 2023-12-11 Spring中的事務(wù)管理
- 2022-07-26 面向?qū)ο驩OP基礎(chǔ)理解
- 2022-05-24 C++基于Floyd算法實(shí)現(xiàn)校園導(dǎo)航系統(tǒng)_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支