最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python打印帶時(shí)間的日志實(shí)現(xiàn)代碼

 更新時(shí)間:2024年04月26日 10:02:32   作者:Kwan的解憂雜貨鋪  
python的logging模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過它存儲(chǔ)各種格式的日志,下面這篇文章主要給大家介紹了關(guān)于python打印帶時(shí)間的日志的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一.整體說明

1.問題背景

python 中可以使用 print 進(jìn)行日志打印,但是打印的很亂,而且不帶時(shí)間,看上去很不美觀,需要自定義一個(gè)帶不同日志等級(jí)的工具

2.print 用法

在 Python 中,print 是一個(gè)內(nèi)置函數(shù),用于將文本或其他對(duì)象的表示輸出到標(biāo)準(zhǔn)輸出(通常是控制臺(tái))。它是一種常用的調(diào)試和輸出信息的方式。

print 函數(shù)的基本語法如下:

print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

其中:

  • value1, value2, ... 是要打印的值或?qū)ο?。多個(gè)值之間可以用逗號(hào)分隔。
  • sep 是用于分隔多個(gè)值之間的字符串,默認(rèn)為一個(gè)空格。
  • end 是打印結(jié)束時(shí)的字符串,默認(rèn)為換行符 \n。
  • file 是輸出的文件對(duì)象,默認(rèn)為標(biāo)準(zhǔn)輸出(控制臺(tái))。
  • flush 是一個(gè)布爾值,表示是否立即刷新輸出,默認(rèn)為 False。

以下是一些示例:

print("Hello, world!")  # 打印一個(gè)字符串

name = "Alice"
age = 25
print("Name:", name, "Age:", age)  # 打印多個(gè)值,使用默認(rèn)分隔符和換行符

print("Hello", "world", sep="-")  # 使用自定義分隔符

print("Hello", end="")  # 不換行輸出

file = open("output.txt", "w")
print("Hello, file!", file=file)  # 輸出到文件

print("Hello, flush!", flush=True)  # 立即刷新輸出

運(yùn)行上述代碼后,將會(huì)在控制臺(tái)或指定的文件中看到相應(yīng)的輸出結(jié)果。

print 函數(shù)在調(diào)試代碼、輸出程序運(yùn)行結(jié)果以及向用戶提供信息時(shí)非常有用。您可以根據(jù)需要靈活使用它來滿足不同的打印需求

3.日志等級(jí)

在軟件開發(fā)和日志記錄中,常用的日志等級(jí)(Log Levels)通常遵循以下標(biāo)準(zhǔn)的層次結(jié)構(gòu):

  • DEBUG(調(diào)試):最低級(jí)別的日志,用于輸出詳細(xì)的調(diào)試信息。通常僅在開發(fā)和調(diào)試階段使用,用于追蹤代碼執(zhí)行過程中的細(xì)節(jié)。

  • INFO(信息):用于輸出程序運(yùn)行中的一般信息,如程序啟動(dòng)、關(guān)鍵事件、操作成功等。它提供對(duì)程序行為的整體了解。

  • WARNING(警告):用于輸出可能導(dǎo)致問題或潛在錯(cuò)誤的警告信息,不會(huì)導(dǎo)致程序中斷或出現(xiàn)致命錯(cuò)誤,但需要引起注意。

  • ERROR(錯(cuò)誤):用于輸出錯(cuò)誤信息,表示程序在某個(gè)特定點(diǎn)發(fā)生了錯(cuò)誤,但并不會(huì)導(dǎo)致程序終止。錯(cuò)誤日志通常指示程序出現(xiàn)了預(yù)料之外的情況。

  • CRITICAL(嚴(yán)重):最高級(jí)別的日志,用于輸出嚴(yán)重錯(cuò)誤和致命錯(cuò)誤。表示程序遇到了無法繼續(xù)執(zhí)行的嚴(yán)重問題,并可能導(dǎo)致程序崩潰或無法正常運(yùn)行。

此外,還存在一些其他的日志等級(jí),其具體名稱和定義可能會(huì)根據(jù)不同的日志庫和框架而有所差異。例如:

  • TRACE(跟蹤):比 DEBUG 更詳細(xì)的日志級(jí)別,用于輸出比調(diào)試級(jí)別更細(xì)粒度的信息。
  • FATAL(致命):與 CRITICAL 等價(jià),用于表示致命錯(cuò)誤。

請(qǐng)注意,不同的日志庫和框架可能對(duì)這些日志等級(jí)的命名和定義有所差異。在實(shí)際使用時(shí),您可以根據(jù)具體的需求和日志記錄庫的文檔來選擇適合的日志等級(jí)。

二.代碼實(shí)現(xiàn)

1.完整代碼

import logging

class TimeStampedLogger:
    def __init__(self, log_level=logging.INFO):
        self.logger = self._configure_logger(log_level)

    def _configure_logger(self, log_level):
        logger = logging.getLogger(__name__)
        logger.setLevel(log_level)

        formatter = logging.Formatter('%(asctime)s - %(message)s')

        stream_handler = logging.StreamHandler()
        stream_handler.setFormatter(formatter)
        logger.addHandler(stream_handler)

        return logger

    def info(self, message):
        self.logger.info(message)

    def debug(self, message):
        self.logger.debug(message)

logger = TimeStampedLogger()

2.擴(kuò)展方法

可以添加不同等級(jí)的日志

def info(self, message):
    self.logger.info(message)

def debug(self, message):
	self.logger.debug(message)

附:Python中打印日志,文件,行號(hào),當(dāng)前時(shí)間

寫一個(gè)函數(shù)實(shí)現(xiàn)python的日志功能:

調(diào)用函數(shù),打印當(dāng)前時(shí)間,打印當(dāng)前行號(hào),文件函數(shù)名稱

便于找bug

import sys,time

def Log(msg,line,name):
    #文件地址  __file__,可選添加
    date = time.strftime('%Y.%m.%d %H:%M:%S ',time.localtime(time.time()))
    print(date+':'+ msg +', Line '+line+' , in '+name)

if __name__ == '__main__':
    Log('hello',str(sys._getframe().f_lineno),sys._getframe().f_code.co_name) 

#2022.03.25 11:52:15 :hello, Line 9 , in <module>

打印結(jié)果:2022.03.25 11:52:15 :hello, Line 9 , in <module>

總結(jié) 

到此這篇關(guān)于python打印帶時(shí)間的日志實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python打印帶時(shí)間日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn)

    Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn)

    本文主要介紹了Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python讀取csv、Excel文件生成圖表的方法

    Python讀取csv、Excel文件生成圖表的方法

    這篇文章主要介紹了Python讀取csv、Excel文件生成圖表,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Python中np.random.randint()參數(shù)詳解及用法實(shí)例

    Python中np.random.randint()參數(shù)詳解及用法實(shí)例

    numpy.random.randint()函數(shù)不僅可以生成一維隨機(jī)數(shù)組,也可以生成多維度的隨機(jī)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Python中np.random.randint()參數(shù)詳解及用法的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 基于plt.title無法顯示中文的快速解決

    基于plt.title無法顯示中文的快速解決

    這篇文章主要介紹了基于plt.title無法顯示中文的快速解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python列表解析配合if else的方法

    Python列表解析配合if else的方法

    今天小編就為大家分享一篇Python列表解析配合if else的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 在linux系統(tǒng)中安裝python3.8.1?并卸載?python3.6.2?更新python3引導(dǎo)到3.8.1的詳細(xì)步驟

    在linux系統(tǒng)中安裝python3.8.1?并卸載?python3.6.2?更新python3引導(dǎo)到3.8.1的

    這篇文章主要介紹了如何在linux系統(tǒng)中安裝python3.8.1?并卸載?python3.6.2?更新python3引導(dǎo)到3.8.1,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Python面向?qū)ο笾^承原理與用法案例分析

    Python面向?qū)ο笾^承原理與用法案例分析

    這篇文章主要介紹了Python面向?qū)ο笾^承原理與用法,結(jié)合具體案例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承的原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Python中nonlocal的作用域靈活控制

    Python中nonlocal的作用域靈活控制

    nonlocal關(guān)鍵字為我們提供了一種在嵌套函數(shù)中訪問和修改外部非全局作用域變量的方式,本文主要介紹了Python中nonlocal的作用域靈活控制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-04-04
  • 詳解pytest分布式執(zhí)行插件?pytest-xdist?的高級(jí)用法

    詳解pytest分布式執(zhí)行插件?pytest-xdist?的高級(jí)用法

    這篇文章主要介紹了pytest分布式執(zhí)行插件?pytest-xdist?的高級(jí)用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Python強(qiáng)制子類重寫父類的兩種方法實(shí)現(xiàn)

    Python強(qiáng)制子類重寫父類的兩種方法實(shí)現(xiàn)

    在Python中,有時(shí)候我們希望某個(gè)類能夠被子類繼承并重寫其中的某些方法,本文主要介紹了Python強(qiáng)制子類重寫父類的兩種方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02

最新評(píng)論

清苑县| 永新县| 长白| 本溪市| 永昌县| 旅游| 白沙| 岳普湖县| 洪洞县| 寿阳县| 商丘市| 天柱县| 大足县| 大邑县| 梓潼县| 新绛县| 南阳市| 防城港市| 四会市| 康乐县| 梅州市| 南川市| 乌苏市| 舞阳县| 蒙阴县| 华宁县| 建湖县| 尼玛县| 紫云| 北辰区| 禄丰县| 大庆市| 略阳县| 微博| 海淀区| 北海市| 鹿邑县| 东宁县| 绥阳县| 莱西市| 景德镇市|