亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一.整體說明

1.問題背景

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

2.print 用法

在 Python 中,print 是一個內置函數(shù),用于將文本或其他對象的表示輸出到標準輸出(通常是控制臺)。它是一種常用的調試和輸出信息的方式。

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

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

其中:

  • value1, value2, ... 是要打印的值或對象。多個值之間可以用逗號分隔。
  • sep 是用于分隔多個值之間的字符串,默認為一個空格。
  • end 是打印結束時的字符串,默認為換行符 \n。
  • file 是輸出的文件對象,默認為標準輸出(控制臺)。
  • flush 是一個布爾值,表示是否立即刷新輸出,默認為 False。

以下是一些示例:

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

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

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

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

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

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

運行上述代碼后,將會在控制臺或指定的文件中看到相應的輸出結果。

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

3.日志等級

在軟件開發(fā)和日志記錄中,常用的日志等級(Log Levels)通常遵循以下標準的層次結構:

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

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

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

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

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

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

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

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

二.代碼實現(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.擴展方法

可以添加不同等級的日志

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

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

附:Python中打印日志,文件,行號,當前時間

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

調用函數(shù),打印當前時間,打印當前行號,文件函數(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>

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

總結 

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

相關文章

  • Python 多個圖同時在不同窗口顯示的實現(xiàn)方法

    Python 多個圖同時在不同窗口顯示的實現(xiàn)方法

    今天小編就為大家分享一篇Python 多個圖同時在不同窗口顯示的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python實現(xiàn)打乒乓小游戲

    Python實現(xiàn)打乒乓小游戲

    這篇文章主要為大家詳細介紹了Python實現(xiàn)打乒乓小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python 繪制場景熱力圖的示例

    python 繪制場景熱力圖的示例

    這篇文章主要介紹了python 繪制場景熱力圖的示例,幫助大家更好的利用python繪制圖像,感興趣的朋友可以了解下
    2020-09-09
  • Django框架中模型的用法

    Django框架中模型的用法

    這篇文章介紹了Django框架中模型的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 使用Pytorch實現(xiàn)Swish激活函數(shù)的示例詳解

    使用Pytorch實現(xiàn)Swish激活函數(shù)的示例詳解

    激活函數(shù)是人工神經(jīng)網(wǎng)絡的基本組成部分,他們將非線性引入模型,使其能夠學習數(shù)據(jù)中的復雜關系,Swish 激活函數(shù)就是此類激活函數(shù)之一,在本文中,我們將深入研究 Swish 激活函數(shù),提供數(shù)學公式,探索其相對于 ReLU 的優(yōu)勢,并使用 PyTorch 演示其實現(xiàn)
    2023-11-11
  • python scatter散點圖用循環(huán)分類法加圖例

    python scatter散點圖用循環(huán)分類法加圖例

    這篇文章主要為大家詳細介紹了python scatter散點圖用循環(huán)分類法加圖例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 詳解python 一維、二維列表的初始化問題

    詳解python 一維、二維列表的初始化問題

    這篇文章主要介紹了python 一維、二維列表的初始化,本文通過兩種方式給大家詳細講解,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-06-06
  • OpenCV實現(xiàn)灰度、高斯模糊、邊緣檢測的示例

    OpenCV實現(xiàn)灰度、高斯模糊、邊緣檢測的示例

    這篇文章主要介紹了OpenCV實現(xiàn)灰度、高斯模糊、邊緣檢測的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Python連接MySQL并使用fetchall()方法過濾特殊字符

    Python連接MySQL并使用fetchall()方法過濾特殊字符

    這篇文章主要介紹了Python連接MySQL的方法并講解了如何使用fetchall()方法過濾特殊字符,示例環(huán)境為Ubuntu操作系統(tǒng),需要的朋友可以參考下
    2016-03-03
  • Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    開發(fā)應用程序時,若只有一個窗口則只需關心這個窗口里面的各控件之間如何傳遞數(shù)據(jù)。如果程序有多個窗口,就要關心不同的窗口之間是如何傳遞數(shù)據(jù)。本文介紹了PyQt5中三種窗口數(shù)據(jù)傳遞,需要的可以了解一下
    2022-12-12

最新評論