![]() |
mFrame
|
日誌接收器類別,負責實際的日誌輸出處理。 更多...
#include <SinkLogger.h>
公開型態 | |
enum struct | Level : uint8 { SEVERE = 1 , WARNING = 2 , INFO = 3 , CONFIG = 4 , FINE = 5 , FINER = 6 , FINEST = 7 } |
日誌級別列舉,定義日誌訊息的重要性層級。 更多... | |
公開方法(Public Methods) | |
SinkLogger (ufm::io::PrintStream &printStream) | |
建構 SinkLogger 物件,關聯到指定的輸出流。 | |
virtual | ~SinkLogger (void) override |
解構 SinkLogger 物件,清理相關資源。 | |
operator ufm::io::PrintStream & () | |
隱式轉型為 ufm::io::PrintStream&,允許直接使用 SinkLogger 作為 PrintStream。 | |
ufm::io::PrintStream & | log (Level level, const char *vName="", const char *message="") |
記錄一條指定級別的日誌訊息,包含來源名稱和訊息內容。 | |
SinkLogger & | setLevel (Level level) |
設定日誌輸出的最低級別,低於此級別的訊息將被忽略。 | |
Level | getLevel (void) const |
取得目前設定的日誌輸出級別。 | |
ufm::io::PrintStream & | printStream (void) |
取得原始的 PrintStream 物件參考,不受日誌級別過濾影響。 | |
uint64 | getTimeStamp (void) const |
取得當前時間戳,精確到毫秒。 | |
![]() | |
void * | operator new (size_t n) |
使用運算子 new 分配記憶體 | |
void * | operator new (size_t n, void *p) |
在指定記憶體上調用運算子 new | |
virtual ufm::lang::Object & | getObject (void) override |
取得對應的 Object 物件 | |
void | delay (int milliseconds) const |
延遲指定的毫秒數進行執行緒等待 | |
bool | equals (Object *object) const |
判斷與另一物件是否為相同參照(指標型態比較) | |
bool | equals (Object &object) const |
判斷與另一物件是否為相同參照(參照型態比較) | |
void | wait (void) const |
使當前線程等待直到被通知 | |
bool | wait (int timeout) const |
等待通知或超時 | |
bool | yield (void) const |
讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
int | lock (void) const |
核心鎖定,鎖定期間禁止線程切換 | |
int | unlock (void) const |
核心解鎖 | |
ufm::sys::Thread * | currentThread (void) const |
取得當前執行緒指標 | |
virtual int | hashcode (void) const |
返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
日誌接收器類別,負責實際的日誌輸出處理。
SinkLogger 是日誌系統的核心類別,管理日誌的輸出流、級別控制和格式化。 所有日誌訊息最終都會透過此類別輸出到指定的 PrintStream。 支援日誌級別過濾,只有達到設定級別的訊息才會被輸出。
|
strong |
日誌級別列舉,定義日誌訊息的重要性層級。
日誌級別由低到高排序,數值越小表示越重要的訊息。 當設定輸出級別時,只有等於或低於該級別的訊息才會被輸出。
級別說明:
列舉值 | |
---|---|
SEVERE | 嚴重錯誤,系統可能無法正常運作。 |
WARNING | 警告訊息,可能導致問題但不影響基本功能。 |
INFO | 一般資訊,記錄系統正常運作狀態。 |
CONFIG | 配置相關訊息,記錄系統設定資訊。 |
FINE | 基本除錯資訊,用於一般的問題追蹤。 |
FINER | 詳細除錯資訊,提供更多的執行細節。 |
FINEST | 最詳細除錯資訊,包含所有執行步驟。 |
ufm::util::SinkLogger::SinkLogger | ( | ufm::io::PrintStream & | printStream | ) |
建構 SinkLogger 物件,關聯到指定的輸出流。
printStream | 輸出流物件,所有日誌訊息將輸出到此流。 |
|
inline |
取得目前設定的日誌輸出級別。
|
inline |
取得當前時間戳,精確到毫秒。
此方法返回自系統啟動以來的時間戳,單位為毫秒。 用於日誌輸出時的時間標記,便於追蹤事件發生的時間。
ufm::io::PrintStream & ufm::util::SinkLogger::log | ( | Level | level, |
const char * | vName = "", | ||
const char * | message = "" ) |
記錄一條指定級別的日誌訊息,包含來源名稱和訊息內容。
level | 日誌級別,決定訊息的重要性。 |
vName | 日誌來源名稱,用於識別訊息來源,預設為空字串。 |
message | 日誌訊息內容,預設為空字串。 |
|
inline |
隱式轉型為 ufm::io::PrintStream&,允許直接使用 SinkLogger 作為 PrintStream。
這樣可以方便地將 SinkLogger 用於需要 PrintStream 的上下文中。
|
inline |
取得原始的 PrintStream 物件參考,不受日誌級別過濾影響。
此方法回傳的 PrintStream 會直接輸出到底層流,完全繞過日誌級別控制。 適用於需要強制輸出、系統訊息或緊急狀況下的直接輸出。
|
inline |
設定日誌輸出的最低級別,低於此級別的訊息將被忽略。
level | 欲設定的日誌級別,只有此級別或更高級別的訊息才會被輸出。 |