零配置python日志媳板,安裝即用

寫了很多年的python日志都是使用內(nèi)置的logging模塊來(lái)完成的桑腮,使用時(shí)都需要經(jīng)過(guò)繁瑣的配置。有時(shí)候蛉幸,還可能出現(xiàn)丟失日志的情況破讨,直到loguru的出現(xiàn)。

【閱讀全文】

loguru真的是十分的簡(jiǎn)單的奕纫,安裝之后直接導(dǎo)入到python代碼塊中即可直接使用提陶。

1、安裝環(huán)境

我們還是按照pip的方式來(lái)進(jìn)行安裝匹层,默認(rèn)使用清華大學(xué)的鏡像站隙笆。

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

安裝完成后就可以直接開始使用了。

2升筏、常規(guī)日志打印

在控制臺(tái)打印常規(guī)日志時(shí)不用添加任何的配置直接使用撑柔,使用完成后我們可以來(lái)驗(yàn)證一下打印效果。

from loguru import logger

# 使用debug級(jí)別打印一行日志

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

下面是我在pycharm上面取下來(lái)的日志效果圖您访。

file

可以看一下效果還是令人滿意的铅忿,這顏色搭配也比較nice,并且日志時(shí)間精確到秒級(jí)灵汪。想要看到的日志信息也基本囊括了檀训。

3、寫入日志文件

想寫入日志文件也是比較簡(jiǎn)單不用配置识虚,只需要調(diào)用add函數(shù)添加文件即可肢扯。

# 添加日志文件

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

# 打印一行debug日志

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

此時(shí),不僅控制臺(tái)會(huì)出現(xiàn)一行日志担锤,并且在message-info.log文件中也寫入了一條dubug日志信息蔚晨。

若是在寫入文件時(shí)想要指定自己的輸出格式,則可以直接在add函數(shù)直接設(shè)置即可肛循,同時(shí)可以設(shè)置輸出到日志文件中的級(jí)別铭腕。

# 按照特定的格式將info級(jí)別的日志寫入到日志文件中

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

# 這時(shí),多打印一些info級(jí)別的日志

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控制臺(tái)打印的日志效果

file

下面是日志文件中的展示效果多糠,跟我們?cè)O(shè)定的日志格式是一樣的累舷。

file

4、停止寫入日志文件

在上述過(guò)程中我們添加自定義日志格式的日志信息到info.log文件中時(shí)特意返回了一個(gè)log變量夹孔。

這個(gè)log其實(shí)是返回了一個(gè)日志文件的id被盈,在需要停止向該日志文件中寫入日志時(shí)析孽,只需要調(diào)用remove函數(shù)將該文件的日志id作為參數(shù)傳入即可停止向日志文件中寫入日志。

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

logger.remove(log)

此時(shí)只怎,后面的 日志文件將不會(huì)再寫入日志文件中了袜瞬。

5、滾動(dòng)記錄日志文件

在實(shí)際情況中身堡,我們并不是只會(huì)有一個(gè)日志文件邓尤。當(dāng)一個(gè)日志文件超過(guò)一定的大小、或是在一個(gè)特定的時(shí)間周期都可以通過(guò)參數(shù)的設(shè)定來(lái)生成新的日志文件繼續(xù)記錄日志贴谎。

# 超過(guò)10M生成一個(gè)新的日志文件

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

# 每天凌晨一點(diǎn)生成一個(gè)新的日志文件

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

并且汞扎,為了防止日志文件在長(zhǎng)時(shí)間的記錄之后占用磁盤,一般還可以設(shè)置30天為周期清理日志文件擅这,這樣就又解決了磁盤爆滿的問(wèn)題澈魄。

# 設(shè)置該日志文件保留的時(shí)間為30天

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

通常日志文件如果按照原始的方式存儲(chǔ),那么占用空間還是比較大的蕾哟。loguru也為我們想到了一忱,就是通過(guò)指定文件壓縮的格式之后將日志文件進(jìn)行壓縮。

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

6谭确、異常日志捕獲

在實(shí)際coding過(guò)程中帘营,特別是生產(chǎn)環(huán)境,若是出現(xiàn)一些異常信息沒(méi)有被寫入到日志文件中的情況時(shí)是特別難受的逐哈。在生產(chǎn)環(huán)境中芬迄,日志是解決問(wèn)題的唯一辦法。

loguru提供了注解的方式可以將發(fā)生異常的函數(shù)信息直接寫入日志文件中昂秃,比如禀梳,有這樣一個(gè)函數(shù)在運(yùn)行過(guò)程中發(fā)生了異常。

@logger.catch
def func(param):

    return 10 / param

func(0)

上面這個(gè)函數(shù)在分母是0的時(shí)候肯定是會(huì)拋出異常的肠骆,我們使用注解@logger.catch異常信息就會(huì)被寫入算途。

file

同時(shí),在日志文件中也會(huì)記錄詳細(xì)的異常信息蚀腿。

file

【往期精彩】

英語(yǔ)沒(méi)學(xué)好到底能不能做coder嘴瓤,別再糾結(jié)了先學(xué)起來(lái)...

數(shù)據(jù)清洗工具flashtext,效率直接提升了幾十倍數(shù)莉钙!

一個(gè)help函數(shù)解決了python的所有文檔信息查看...

python 自定義異常/raise關(guān)鍵字拋出異常

python 本地音樂(lè)播放器制作過(guò)程(附完整源碼)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末廓脆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磁玉,更是在濱河造成了極大的恐慌停忿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚊伞,死亡現(xiàn)場(chǎng)離奇詭異席赂,居然都是意外死亡吮铭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門氧枣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沐兵,“玉大人,你說(shuō)我怎么就攤上這事便监。” “怎么了碳想?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵烧董,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我胧奔,道長(zhǎng)逊移,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任龙填,我火速辦了婚禮胳泉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岩遗。我一直安慰自己扇商,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布宿礁。 她就那樣靜靜地躺著案铺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梆靖。 梳的紋絲不亂的頭發(fā)上控汉,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音返吻,去河邊找鬼姑子。 笑死,一個(gè)胖子當(dāng)著我的面吹牛测僵,可吹牛的內(nèi)容都是我干的街佑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼恨课,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼舆乔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起剂公,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤希俩,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后纲辽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颜武,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡璃搜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鳞上。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片这吻。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖篙议,靈堂內(nèi)的尸體忽然破棺而出唾糯,到底是詐尸還是另有隱情,我是刑警寧澤鬼贱,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布移怯,位于F島的核電站,受9級(jí)特大地震影響这难,放射性物質(zhì)發(fā)生泄漏粱胜。R本人自食惡果不足惜洞就,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拨黔,春花似錦话浇、人聲如沸增蹭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)星澳。三九已至疚顷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間禁偎,已是汗流浹背腿堤。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留如暖,地道東北人笆檀。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像盒至,于是被迫代替她去往敵國(guó)和親酗洒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容