C 除錯日誌封裝

2021-10-03 02:24:16 字數 1699 閱讀 7859

c#自帶有個除錯日誌,但一般我們都用它在輸出視窗中列印資訊用,很少用來記錄文字日誌,一般的小型專案其實完全可以使用自帶的除錯類來記日誌,在system.diagnostics的系統命名空間下有個tracelistener類,我們繼承它,並重寫裡面的方法即可。

1. tracelistener類概述

tracelistener類是.net core自帶的用於追蹤監視類,繼承並重寫實現裡面的方法就能實現記錄各種型別的日誌,和以任意形式記錄日誌,比如記錄文字,列印到控制台,或者記錄到資料庫,都可以,理論上也可以支援多執行緒併發寫日誌,當然要自己重寫裡面的方法。

2. 封裝實現自定義類

這裡只實現了文字日誌的記錄,拋磚引玉吧,理論上應該還可以支援多執行緒併發。

/// 

/// 追蹤日誌類

///

public

class

mylistener

:tracelistener

///

/// 追蹤日誌構造方法

///

/// 日誌名稱

public

mylistener

(string name)

///

/// 行內寫日誌

///

/// 日誌行內容

public

override

void

write

(string message) ")

;}///

/// 另起一行,寫日誌

///

/// 日誌行內容

public

override

void

writeline

(string message)

"+$" "

+ $"");

}///

/// 行內寫日誌

///

/// 日誌行內容

/// 日誌分類

public

override

void

write

(string message,

string category)

"+$" "

+ $"");

}///

/// 另起一行,寫日誌

///

/// 日誌行內容

/// 日誌分類

public

override

void

writeline

(string message,

string category)

"+$" "

+ $""

+ $"");

}}

3. 使用說明

使用也很簡單,先清除一下監聽物件,再把自定義的監聽物件加進去就可以了,執行完之後,在專案根目錄下就能發現記錄的文字日誌了。

static

void

main

(string

args)

catch

(formatexception ex)

console.

readkey()

;}

C語言封裝執行緒與日誌類

折騰了兩天,查半天資料還是不如自己動動手。如題這是兩個很常見的問題,雖然很多語言都封裝了執行緒,但是讓自己寫乙個還是比較麻煩的,這兒做乙個簡單的demo,大家可以去完善。日誌工具包 define max msg text 1024 10 define max msg title 1024 日誌訊息結...

Apache 除錯日誌

錯誤日誌通常是乙個檔案,可以通過乙個有系統管理員在apache配置好的日誌器來訪問。當必須報告錯誤診斷資訊時,模組可以而且應該寫資訊到錯誤日誌中。錯誤日誌的api在http log.h中定義,ap declare void ap log rerror const char file,int line...

gdb 除錯日誌

如果用 c 作為服務端的程式語言的話,gdb 除錯還是要掌握的,可以說是非常方便。gdb 除錯的教程網上非常多,而且肥腸詳細,只寫一下自己遇到的難找的問題。假如 執行程式是 test 異常的 core 檔案是 core.2018 gdb test core core.2018 一般情況下整個工程包括...