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

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

    文章

    566

    瀏覽量

    24757
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10650
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84727
收藏 人收藏

    評論

    相關推薦

    nginx日志配置方法

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

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

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

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

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

    PDF文件批量打印源代碼

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

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

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

    如何實現Python復制文件操作

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

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

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

    python解析netflow數據csv的流程詳解

    本文主要講解了linux下通過tcpdump抓取netflow數據包,并將其導入wireshark進行解析,然后通過wireshark導出數據為json文件,再通過python腳本將其解析為csv
    的頭像 發表于 05-01 11:18 ?680次閱讀
    <b class='flag-5'>python</b>解析netflow數據<b class='flag-5'>到</b>csv的流程詳解

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄 【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現 1. 概述 2. 設計概要 3. 設計實現 3.1 初始化 `init` 3.2 日志寫入 `write`
    的頭像 發表于 03-14 18:13 ?1069次閱讀
    【嵌入式SD NAND】基于FATFS/Littlefs<b class='flag-5'>文件</b>系統的<b class='flag-5'>日志</b>框架實現

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄 【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現 概述 設計概要 設計實現 3.1 初始化 init 3.2 日志寫入 write 3.3
    發表于 03-14 18:12

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現1.概述2.設計概要3.設計實現3.1初始化`init`3.2日志寫入`write`3.3
    的頭像 發表于 03-14 18:12 ?1164次閱讀
    【嵌入式SD NAND】基于FATFS/Littlefs<b class='flag-5'>文件</b>系統的<b class='flag-5'>日志</b>框架實現

    python中open函數的用法詳解

    python中open函數的用法詳解 Python中的open()函數用于打開文件。它接受文件名和模式作為參數,并返回一個文件對象。
    的頭像 發表于 01-30 15:31 ?2141次閱讀

    Python智能家居系統代碼介紹

    Python智能家居系統是一種基于Python編程語言開發的智能家居控制系統,在現代家庭中得到了越來越廣泛的應用。本文將詳細介紹Python智能家居系統的代碼實現,包括系統的結構與功能
    的頭像 發表于 01-25 09:46 ?1376次閱讀

    單片機斷電記憶日志 多串口助手波形圖像彩色日志 Stm32嵌入式FLASH保存日志管理工具

    )可以使用任何內碼進行記錄。 日志緩沖(Log Buffer)可以傳送陣列緩沖。 計時可以根據前一條日志的Tick,計算出精確1微秒的用時。 CloudLog提供了多種日志等級,包括
    發表于 01-19 11:28

    常用的大日志文件查詢命令詳解

    最近需要查詢大日志文件的時候,每次打開vim,cat之類的都會卡死,但是需要查看符合條件的共有多少行數據,這顆愁死我了,下面列出一些常用的匹配查詢命令。
    的頭像 發表于 01-02 11:27 ?932次閱讀
    主站蜘蛛池模板: 欧美精品四虎在线观看| 国产一级特黄aa大片在线| 狠狠狠色丁香婷婷综合久久五月| 日日噜噜噜夜夜爽爽狠狠| 四虎永久在线精品影院| 色我网站| 欧美成人生活片| 精品一级毛片| 国产乱码免费卡1卡二卡3卡四 | 琪琪see色原在线20| 最近2018年中文字幕大全一 | 大黄香蕉| 午夜综合网| 欧美天天在线| 欧美色插| 国产汉服被啪福利在线观看| 五月综合久久| 欧美巨大bbbb动漫| 国产欧美日韩综合精品无毒| qyule亚洲精品| 免费网站在线视频美女被| 五月sese| 成人免费aaaaa毛片| 涩涩高清无乱码在线观看| 美女视频很黄很a免费国产| 色偷偷偷| 久久久久久噜噜噜久久久精品| 国产成都一二三四区| 午夜精品福利影院| 黄色福利小视频| 五月激情综合网| 国产福利毛片| 卡1卡2卡3精品推荐老狼| 亚洲精品第三页| 亚洲 欧美 日韩 在线 中文字幕| 人人澡人| 6080伦理久久亚洲精品| 激情综合网站| 色噜噜人体337p人体| 色香视频在线| 国产20岁美女一级毛片|