91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python寫(xiě)入到日志文件完整代碼

麥辣雞腿堡 ? 來(lái)源:Python都知道 ? 作者:了不起 ? 2023-10-07 11:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫(xiě)入到日志文件

上面我們說(shuō)的是將日志打印到控制臺(tái)中,但是我們Python代碼寫(xiě)完并且在運(yùn)行當(dāng)中后,我們就不可能這樣玩了,所以我們需要將日志保存到一個(gè)日志文件中

完整代碼如下:

import coloredlogs
import logging


def func_name():
    # 創(chuàng)建文件handler
    file_handler = logging.FileHandler('log_file.log')

    # 設(shè)置日志格式
    formatter = logging.Formatter('%(asctime)s - %(module)s - %(funcName)s - %(levelname)s - %(message)s')
    file_handler.setFormatter(formatter)

    # 安裝coloredlogs并設(shè)置級(jí)別
    level_styles = coloredlogs.DEFAULT_LEVEL_STYLES.copy()
    coloredlogs.install(level="DEBUG", level_styles=level_styles,
                        fmt='%(asctime)s - %(module)s - %(funcName)s - %(levelname)s - %(message)s')

    # 獲取logger 并添加文件handler
    logger = logging.getLogger()
    logger.addHandler(file_handler)

    # 移除默認(rèn)StreamHandler
    logger.removeHandler(logging.StreamHandler())

    # 測(cè)試輸出日志
    logger.debug('debug message')
    logger.info('info message')
    logger.error('error message')
    logger.warning('warning message')


func_name()

打開(kāi)我們log_file.log文件后,就可以看到我們生成的日志信息

圖片

可以看到我們生成的日志文件中不同級(jí)別的日志還是使用的是一樣的顏色。那這是為什么呢?

其實(shí)coloredlogs 庫(kù)只是在終端輸出時(shí)給日志添加了顏色,但寫(xiě)入文件時(shí)colors并不能保留。

這是因?yàn)榻K端輸出和文件輸出使用的是不同的handler:

  • 終端輸出使用的是StreamHandler,可以 interpreter 處理ANSI色彩編碼顯示顏色。
  • 文件輸出使用的是FileHandler,寫(xiě)入的僅是純文本,無(wú)法保存ANSI編碼的顏色信息。

ANSI色彩編碼只有在支持其的終端才能渲染為顏色,一旦寫(xiě)入文件就會(huì)失去這些編碼信息。所以使用coloredlogs時(shí),日志文件內(nèi)實(shí)際保存的是未著色的原始文本。

如果想要文件中也保存顏色信息,可以考慮使用支持ANSI色彩的文件格式,比如HTML。然后通過(guò)logging模塊支持的HTML Formatter輸出彩色日志到HTML文件中,不過(guò)這種情況下就失去了純文本文件的可閱讀性。
綜上,coloredlogs只是在終端美化日志展示效果,文件輸出不保存顏色是正常情況。如果必須存儲(chǔ)顏色,可以輸出為HTML等格式,但復(fù)雜度會(huì)增加。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    594

    瀏覽量

    26054
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    11063
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90028
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    模組日志功能技術(shù)概覽

    模組日志功能技術(shù)方案以低侵入、高可用為原則,提供統(tǒng)一的日志API、多級(jí)日志分類與條件輸出機(jī)制。通過(guò)集成該技術(shù),開(kāi)發(fā)者可在不干擾業(yè)務(wù)邏輯的前提下,全面掌握模組的執(zhí)行狀態(tài)與異常行為。 一、本文討論的邊界
    的頭像 發(fā)表于 01-14 15:32 ?129次閱讀
    模組<b class='flag-5'>日志</b>功能技術(shù)概覽

    RT-Thread ULOG: 創(chuàng)建多個(gè)文件后端并保存不同日志方法 | 技術(shù)集結(jié)

    日志都看不到。這時(shí)候就很有必要把日志文件保存在文件系統(tǒng)中了。RTT軟件包中ULOG_FILE這個(gè)包可以實(shí)現(xiàn)日志
    的頭像 發(fā)表于 12-15 19:22 ?4912次閱讀
    RT-Thread ULOG: 創(chuàng)建多個(gè)<b class='flag-5'>文件</b>后端并保存不同<b class='flag-5'>日志</b>方法 | 技術(shù)集結(jié)

    Termux中調(diào)試圣誕樹(shù)Python代碼

    Python文件(比如命名為christmas_tree.py): nano christmas_tree.py 粘貼下面的圣誕樹(shù)立例代碼(健康版): # 圣誕快樂(lè) - 溫馨圣誕樹(shù)打印 print
    發(fā)表于 12-09 09:02

    電能質(zhì)量在線監(jiān)測(cè)裝置數(shù)據(jù)日志能加密存儲(chǔ)嗎?

    電能質(zhì)量在線監(jiān)測(cè)裝置的數(shù)據(jù)日志 可以加密存儲(chǔ) ,且已成為工業(yè)級(jí)與電力系統(tǒng)合規(guī)應(yīng)用的標(biāo)準(zhǔn)配置。加密機(jī)制通常采用 分級(jí)加密策略 ,并結(jié)合硬件安全模塊保障密鑰安全,確保日志數(shù)據(jù)的完整性與保密性。 一、
    的頭像 發(fā)表于 12-05 10:16 ?609次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置數(shù)據(jù)<b class='flag-5'>日志</b>能加密存儲(chǔ)嗎?

    使用ulog 寫(xiě)入日志文件系統(tǒng),無(wú)法使用cat命令讀取文件內(nèi)容怎么解決?

    1.我使用ulog+littlefs寫(xiě)入日志,日志正常寫(xiě)入,但是沒(méi)法使用cat指令讀取文件內(nèi)容失敗,必須關(guān)掉ulog,才能讀取
    發(fā)表于 10-13 06:12

    使用littlefs存儲(chǔ)ulog日志,然后讀日志文件會(huì)出錯(cuò),為什么?

    使用littlefs存儲(chǔ)ulog日志,然后通過(guò)命令讀取日志文件,或者通過(guò)API接口讀取或拷貝日志文件,都會(huì)導(dǎo)致線程卡死,嘗試了多種方法都不行
    發(fā)表于 09-29 06:14

    ulog無(wú)法輸出日志保存到文件,為什么?

    想把日志輸出到文件,顯示初始化成功了,可是沒(méi)有輸出到文件
    發(fā)表于 09-23 07:47

    文件系統(tǒng)的文件怎么循環(huán)覆蓋的寫(xiě)入數(shù)據(jù)?

    請(qǐng)教一個(gè)文件系統(tǒng)數(shù)據(jù)寫(xiě)入的問(wèn)題。 比如我新建一個(gè)文件,test.txt,寫(xiě)入數(shù)據(jù)超過(guò)512KB后,就從頭開(kāi)始寫(xiě),后面的數(shù)據(jù)不刪除,從頭開(kāi)始覆蓋。 比如原來(lái)寫(xiě)了1000條數(shù)據(jù),然后從頭開(kāi)
    發(fā)表于 09-22 08:20

    termux如何搭建python游戲

    Pygame),確保已安裝`clang`編譯器:`apt install -y clang` 3. 權(quán)限問(wèn)題:若需訪問(wèn)手機(jī)文件,安裝`termux-setup-storage`并授權(quán)存儲(chǔ)訪問(wèn)權(quán)限。 通過(guò)以上步驟,即可在Termux中搭建完整
    發(fā)表于 08-29 07:06

    python app不能運(yùn)行怎么解決?

    我使用helloword的模板,上傳了IG502,但不能運(yùn)行,請(qǐng)大神幫忙。系統(tǒng)日志如下:sntpc[1226]: ntp request error: 113, No route to host
    發(fā)表于 08-06 06:27

    詳解journalctl日志管理

    systemd 提供了自己的日志系統(tǒng)(logging system),稱為 journal。使用 systemd 日志,無(wú)需額外安裝日志服務(wù)(syslog)。
    的頭像 發(fā)表于 06-05 17:22 ?1542次閱讀
    詳解journalctl<b class='flag-5'>日志</b>管理

    跟老齊學(xué)Python:從入門(mén)精通

    礎(chǔ)的學(xué)習(xí)者介紹一門(mén)時(shí)下比較流行、并且用途比較廣泛的編程語(yǔ)言,所以,本書(shū)讀起來(lái)不晦澀,并且在其中穿插了很多貌似與Python 編程無(wú)關(guān),但與學(xué)習(xí)者未來(lái)程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦!?。?! 如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~
    發(fā)表于 06-03 16:10

    基于RV1126開(kāi)發(fā)板限制系統(tǒng)日志大小教程

    無(wú)論管理什么系統(tǒng),對(duì)日志文件的監(jiān)控、調(diào)用、管理都是其中重要的一部分。服務(wù)器問(wèn)題的解決都是從查看系統(tǒng)(錯(cuò)誤)日志開(kāi)始的。系統(tǒng)日志是記錄系統(tǒng)硬件狀況、內(nèi)核動(dòng)作、軟件啟動(dòng)、用戶動(dòng)作等各項(xiàng)信息
    的頭像 發(fā)表于 04-16 11:18 ?735次閱讀
    基于RV1126開(kāi)發(fā)板限制系統(tǒng)<b class='flag-5'>日志</b>大小教程

    python入門(mén)圣經(jīng)-高清電子書(shū)(建議下載)

    和Pygal 等強(qiáng)大的Python 庫(kù)和工具介紹,以及列表、字典、if 語(yǔ)句、類、文件與異常、代碼測(cè)試等內(nèi)容; 第二部分將理論付諸實(shí)踐,講解如何開(kāi)發(fā)三個(gè)項(xiàng)目,包括簡(jiǎn)單的Python
    發(fā)表于 04-10 16:53

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個(gè)推理過(guò)程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結(jié)果與 Python*
    發(fā)表于 03-06 06:22