在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:了不起 ? 2023-10-07 11:50 ? 次閱讀

寫入到日志文件

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

完整代碼如下:

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è)置級別
    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())

    # 測試輸出日志
    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時,日志文件內(nèi)實際保存的是未著色的原始文本。

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

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

    關(guān)注

    1

    文章

    577

    瀏覽量

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

    關(guān)注

    0

    文章

    141

    瀏覽量

    10798
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85948
收藏 人收藏

    評論

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

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

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

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

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

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

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

    如何將python文件導(dǎo)入ROS系統(tǒng)中

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

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

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

    Wine開發(fā)系列——如何使用Wine日志調(diào)試問題

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

    nginx日志配置方法

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

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

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

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

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

    linux日志管理之journalctl命令

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

    PDF文件批量打印源代碼

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

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

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

    如何實現(xiàn)Python復(fù)制文件操作

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

    鐵威馬教程 如何收集NAS的日志

    一:使用Putty等工具登錄NAS命令行終端。 步驟二:修改日志存儲的位置 2.1.執(zhí)行以下命令: ? 代碼
    的頭像 發(fā)表于 07-16 18:02 ?837次閱讀
    鐵威馬教程 如何收集NAS的<b class='flag-5'>日志</b>

    奇怪!應(yīng)用的日志呢??

    1. 問題回顧 問題背景 是在進行中臺應(yīng)用中間件遷移過程中,發(fā)現(xiàn)存在 項目啟動失敗 或者 項目正常啟動 (jsf正常掛載并正常運行,mq正常發(fā)送和消費)但是 無任何日志打印 現(xiàn)象。 更奇怪 的是不打
    的頭像 發(fā)表于 06-11 10:48 ?480次閱讀
    奇怪!應(yīng)用的<b class='flag-5'>日志</b>呢??
    主站蜘蛛池模板: 亚洲午夜精品在线 | 天堂最新在线资源 | 久久精品影院永久网址 | 好吊色视频988gao在线观看 | 精品国产_亚洲人成在线高清 | 性做久久久久久久 | 深夜久久 | 激情玖玖 | 国模小丫大尺度啪啪人体 | 久久国内视频 | 爱爱免费视频 | 玖玖玖精品视频免费播放 | 国产aaaaa一级毛片 | 1024国产看片在线观看 | 99久久99久久久99精品齐 | 亚洲视频四区 | 欧美.成人.综合在线 | 26uuu影院亚洲欧美综合 | 四虎影院免费在线 | 免费观看的黄色网址 | 免费一级黄色录像 | 77米奇影院 | 午夜三级毛片 | 欧美一级视频高清片 | 日日摸夜夜爽夜夜爽出水 | 婷婷激情视频 | 天天干天天干天天干天天干天天干 | 免费黄色地址 | 午夜爱爱小视频 | 好爽毛片一区二区三区四区 | 午夜片网站 | 深夜视频在线免费 | 婷婷丁香激情五月 | 五月婷婷影视 | avbobo在线 | 色婷婷婷丁香亚洲综合不卡 | 免费爱爱视频 | 末成年一级在线看片 | 亚洲最大的成人网 | 国产成人mv 在线播放 | 免费观看a毛片一区二区不卡 |