亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何使用nb_log模塊捕獲日志

發布時間:2021-12-12 18:20:33 來源:億速云 閱讀:326 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關python如何使用nb_log模塊捕獲日志,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、調研日志模塊

我想寫一個日志模塊,首選是python內置的logging模塊,接著查找外部的第三方模塊,一眼看到我們中國人寫的模塊nb_log。估計是”牛逼的日志“,這不得不說相當”嚴謹“。倒也符合我的口味,pypi的地址如下:

nb-log · PyPIvery sharp color display,monkey patch bulitin print and high-performance multiprocess safe roating file handler,other handlers includeing dintalk ,email,kafka,elastic and so onpython如何使用nb_log模塊捕獲日志https://pypi.org/project/nb-log/

怎么說呢?模塊介紹的全文相當口水話,看起來相當業余,吹牛成分極大,但非常符合我的口味!物以類聚大概說的就是這事,不信你看該官方描述(只是冰山一角):

python如何使用nb_log模塊捕獲日志

 python如何使用nb_log模塊捕獲日志

 文章中還有許多對比,比如將其他模塊或者一些博客文章直接拉出來槍斃,看起來極其囂張,哪個中槍就不說了,反正很符合我的口味!現在就按照”官方文檔“去使用吧!

二、nb_log模塊的使用

1、安裝方式

pip install nb_log

如下圖,安裝過程中還有些安裝不成功的提示,不過最后萬事大吉:

python如何使用nb_log模塊捕獲日志

 2、自動跳轉功能

如圖所示,對print()也會進行跳轉,因為作者喜歡日志,不喜歡print()。

import nb_log
 
print("我是  nb_log !!!")

python如何使用nb_log模塊捕獲日志

 3、屏幕流日志效果

print("導入nb_log前,我print很普通")
 
from nb_log import get_logger
 
print("導入nb_log后,我print牛逼了 !!!")
 
logger = get_logger('lalala')
logger.debug("我叫debug")
logger.info("我叫info")
logger.warning("我叫warning")
logger.error("我叫error")
logger.critical("我叫critical")

python如何使用nb_log模塊捕獲日志

4、將日志寫入文件

python如何使用nb_log模塊捕獲日志

 未避免錯誤,修改如下:

from multiprocessing import Process
from nb_log import LogManager, get_logger
 
# 指定log_filename不為None 就自動寫入文件了,并且默認使用的是多進程安全的切割方式的filehandler。
# 默認都添加了控制臺日志,如果不想要控制臺日志,設置is_add_stream_handler=False
# 為了保持方法入場數量少,具體的切割大小和備份文件個數有默認值,
# 如果需要修改切割大小和文件數量,在當前python項目根目錄自動生成的nb_log_config.py文件中指定。
 
# logger = LogManager('ha').get_logger_and_add_handlers(is_add_stream_handler=True,
# log_filename='ha.log')
# get_logger這個和上面一句一樣。但LogManager不只有get_logger_and_add_handlers一個公有方法。
logger = get_logger(name="all_log", is_add_stream_handler=True, log_filename='ha.log')
 
 
def f():
    for i in range(10):
        logger.debug('測試文件寫入性能,在滿足 1.多進程運行 2.按大小自動切割備份 3切割備份瞬間不出錯'
                     '這3個條件的前提下,驗證這是不是python史上文件寫入速度遙遙領先 性能最強的python logging handler')
 
 
if __name__ == '__main__':
    [Process(target=f).start() for _ in range(10)]

運行之后,不太清楚文件去了哪里,嘗試通過文件系統查找當前工程,也沒有找到。從整個模塊的使用來看,認為可能很牛逼,但無論是文檔還是程序本身非常不規范!

查找全局才發現原來日志寫到了這里:

python如何使用nb_log模塊捕獲日志

 我猜測這個函數應該有路徑輸入,于是打了path,便可定義了,如下:

logger = get_logger(name="all_log", is_add_stream_handler=True, log_path="./", log_filename='ha.log')

關于“python如何使用nb_log模塊捕獲日志”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延安市| 西贡区| 理塘县| 新沂市| 广水市| 弥渡县| 中卫市| 明星| 呈贡县| 南宁市| 泰和县| 长阳| 东方市| 哈尔滨市| 新宾| 涟水县| 崇州市| 沁源县| 安溪县| 合阳县| 东辽县| 岳阳县| 越西县| 高雄市| 寻甸| 武清区| 金平| 曲靖市| 西峡县| 宁都县| 青冈县| 民勤县| 兴安县| 杭锦后旗| 轮台县| 资阳市| 安仁县| 兰坪| 秦皇岛市| 全南县| 蓬安县|