女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python寫入到日志文件完整代碼

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

掃碼添加小助手

加入工程師交流群

寫入到日志文件

上面我們說的是將日志打印到控制臺中,但是我們Python代碼寫完并且在運行當中后,我們就不可能這樣玩了,所以我們需要將日志保存到一個日志文件中

完整代碼如下:

import coloredlogs
import logging


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

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

    # 安裝coloredlogs并設置級別
    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)

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

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


func_name()

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

圖片

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

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

這是因為終端輸出和文件輸出使用的是不同的handler:

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 文件
    +關注

    關注

    1

    文章

    579

    瀏覽量

    25368
  • 日志
    +關注

    關注

    0

    文章

    144

    瀏覽量

    10867
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    詳解journalctl日志管理

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

    跟老齊學Python:從入門精通

    礎的學習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關,但與學習者未來程序員職業生涯有關的內容。 獲取完整文檔資料可下載附件哦!!!! 如果內容有幫助可以關注、點贊、評論支持一下哦~
    發表于 06-03 16:10

    基于RV1126開發板限制系統日志大小教程

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

    python入門圣經-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容; 第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python
    發表于 04-10 16:53

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

    創建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個推理過程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結果與 Python*
    發表于 03-06 06:22

    如何將python文件導入ROS系統中

    本文通過使用myCobot機械臂進行QR碼視覺追蹤的實踐案例分析,介紹如何將 python 文件導入 ROS 系統中。
    的頭像 發表于 02-11 11:08 ?804次閱讀
    如何將<b class='flag-5'>python</b><b class='flag-5'>文件</b>導入<b class='flag-5'>到</b>ROS系統中

    Linux實時查看日志的四種命令詳解

    如何在Linux中實時查看日志文件的內容?那么有很多實用程序可以幫助用戶在文件更改或不斷更新時輸出文件的內容。在Linux中實時顯示文件內容
    的頭像 發表于 01-13 10:45 ?3055次閱讀
    Linux實時查看<b class='flag-5'>日志</b>的四種命令詳解

    Wine開發系列——如何使用Wine日志調試問題

    ? 輸出調試日志是調試程序的一種常見方法,尤其是處理那些難以捉摸的多線程錯誤、隨機崩潰等問題時。 通過在合適的位置輸出調試日志,可以幫助我們更快地定位問題所在。 對于不熟悉的代碼,經常打日志
    的頭像 發表于 01-06 11:29 ?1001次閱讀

    nginx日志配置方法

    access_log用來定義日志級別,日志位置。
    的頭像 發表于 10-24 17:43 ?581次閱讀

    日志篇:模組日志總體介紹

    的各種故障進行分析。 二、4G模組日志的幾種類型界 4G 模組的日志有兩種類型: 業務日志和底層日志。業務日志是指在用模組的客戶
    的頭像 發表于 10-24 07:16 ?583次閱讀
    <b class='flag-5'>日志</b>篇:模組<b class='flag-5'>日志</b>總體介紹

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與原始的 C 語言
    的頭像 發表于 09-02 10:37 ?4938次閱讀

    linux日志管理之journalctl命令

    journalctl 用來查詢 systemd-journald 服務收集日志。systemd-journald 服務是 systemd init 系統提供的收集系統日志的服務。
    的頭像 發表于 08-14 18:18 ?3785次閱讀
    linux<b class='flag-5'>日志</b>管理之journalctl命令

    PDF文件批量打印源代碼

    壓縮包中包含可批量打印PDF文件Python代碼,可以借助PYcharm工具執行,實現多PDF文件同時打印。
    發表于 08-08 14:26 ?0次下載

    日志框架簡介-Slf4j+Logback入門實踐

    結果不受日志的有無影響,但沒有日志的應用程序是不完整的,甚至可以說是有缺陷的。優秀的日志系統可以 記錄操作軌跡 、 監控系統運行狀態 和 解決系統故障 。 Java
    的頭像 發表于 07-30 10:00 ?1524次閱讀
    <b class='flag-5'>日志</b>框架簡介-Slf4j+Logback入門實踐

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊
    的頭像 發表于 07-18 14:53 ?803次閱讀