使用python製作簡單的日誌以及日誌分析工具

2021-06-02 13:33:40 字數 3188 閱讀 3952

我的部落格已轉移至

最近,我需要將多客戶模擬器在執行中產生的一些資料記錄下來,同時使用適當

的方法(例如圖形化,還有。。。?)對其進行分析。

1. 日誌的記錄

python有乙個logging模組,可以用來產生日誌。

(1)學習資料

(2)我需要關注內容

logging模組提供了多種日誌級別,如:notset(0),debug(10),

info(20),warning(30),warning(40),critical(50)。

設定方法:

logger = getlogger()

logger.serlevel(logging.debug)

使用formatter設定日誌的輸出格式。

設定方法:

logger = getlogger()

handler = loggingfilehandler(***)

formatter = logging.formatter("%(asctime)s %(levelname) %(message)s","%y-%m-%d,%h:%m:%s")

%(asctime)s表示記錄日誌寫入時間,"%y-%m-%d,%h:%m:%s「設定了時間的具體寫入格式。

%(levelname)s表示記錄日誌的級別。

%(message)s表示記錄日誌的具體內容。

def initlog():

logger = logging.getlogger()

handler = logging.filehandler("日誌儲存路徑")

formatter = logging.formatter("%(asctime)s %(levelname) %(message)s","%y-%m-%d,%h:%m:%s")

handler.setformatter(formatter)

logger.addhandler(handler)

logger.setlevel

logging.getlogger().info(), logging.getlogger().debug()......     

2. 日誌的分析。

(1)我的日誌的內容。(log.txt)

2011-12-12,12:11:31 info client1: 4356175.0 1.32366309133e+12 1.32366309134e+12

2011-12-12,12:11:33 info client1: 4361320.0 1.32366309334e+12 1.32366309336e+12

2011-12-12,12:11:33 info client0: 4361320.0 1.32366309389e+12 1.32366309391e+12

2011-12-12,12:11:39 info client1: 4366364.0 1.32366309934e+12 1.32366309936e+12

2011-12-12,12:11:39 info client0: 4366364.0 1.32366309989e+12 1.32366309991e+12

2011-12-12,12:11:43 info client1: 4371416.0 1.32366310334e+12 1.32366310336e+12

2011-12-12,12:11:43 info client0: 4371416.0 1.32366310389e+12 1.32366310391e+12

2011-12-12,12:11:49 info client1: 4376450.0 1.32366310934e+12 1.32366310936e+12

我需要將上述內容逐行讀出,並將三個時間戳提取出來,然後將其圖形化。

(2) 檔案操作以及字串的分析。

file = file("日誌路徑",「r」)

while true:

line = file.readline()

if len(len) == 0:

break;

print line

file.close()

字串操作學習資料:

從上面展示出來的日誌內容可見,主要資料都是用空格分隔,所以需要使用字串的

split函式對字串進行分割:

paralist = line.split(),該函式預設的分割符是空格,返回值為乙個list。

paralist[3], paralist[4], paralist[5]中分別以字串形式儲存著我需要的時間戳。

(3)將日誌圖形化。

matplotlib是python的乙個繪相簿。我打算用它來將日誌圖形化。

對matplotlib的巨集觀介紹:

對matplotlib具體使用的詳細介紹:

在matplotlib中設定線條的顏色和形狀:

import matplotlib.pyplot as plt

listx = #儲存x軸資料

listy = #儲存y軸資料

listy1 = #儲存y軸資料

file = file("../log.txt","r")#開啟日誌檔案

while true:

line = file.readline()#讀取一行日誌

if len(line) == 0:#如果到達日誌末尾,退出

break

paralist = line.split()

print paralist[2]

print paralist[3]

print paralist[4]

print paralist[5]

if paralist[2] == "client0:": #在座標圖中新增兩個點,它們的x軸數值是相同的

file.close()

plt.plot(listx,listy,'bo-',listx,listy1,'ro')#畫圖

plt.title('tile')#設定所繪圖像的標題

plt.xlabel('time in sec')#設定x軸名稱

plt.ylabel('delays in ms'')#設定y軸名稱

plt.show()              

python使用Qt製作簡單小視窗

pip install pyqt5 pip install pyqt5 tools pip install pyside2 安裝好以後可以通過檢視版本號,驗證是否安裝成功 pyqt5 v成功後可以到python安裝依賴包的目錄下檢視,並找到designer.exe 開啟 designer.exe 建...

python日誌的使用

1 日誌設定 1 import logging 23 global logger 設定全域性變數,涉及動態修改 4 g logdir d checkerpath logs 5 6def tearup 7 建立乙個logger 8global root logger 9global fh10 glob...

Python製作簡單的滑雪小遊戲

python版本 3.6.4 pygame模組 以及一些python自帶的模組。安裝python並新增到環境變數,pip安裝需要的相關模組即可。遊戲規則 玩家通過 ad 鍵或者 操控前進中的滑雪者,努力避開路上的樹,盡量撿到路上的小旗。如果碰到樹,則得分減50,如果撿到小旗子,則得分加10。逐步實現...