mFrame
載入中...
搜尋中...
無符合項目
ufm::util::Logger 類別 參考文件

日誌記錄器類別,提供結構化的日誌記錄功能。 更多...

#include <Logger.h>

類別ufm::util::Logger的繼承圖:
ufm::lang::Object ufm::lang::Interface

公開方法(Public Methods)

 Logger (ufm::util::SinkLogger &sinkLogger, const char *name=nullptr) noexcept
 建構 Logger 物件,關聯到指定的接收器。
 
 Logger (const ufm::util::Logger &other, const char *name) noexcept
 從另一個 Logger 建構新的 Logger 物件,繼承其接收器但使用不同名稱。
 
virtual ~Logger (void) override
 解構 Logger 物件,釋放相關資源。
 
 operator ufm::io::PrintStream & (void)
 隱式轉換為 PrintStream 參考,允許直接使用輸出操作。
 
ufm::io::PrintStreamlog (ufm::util::SinkLogger::Level level=ufm::util::SinkLogger::Level::INFO, const char *message="")
 記錄一條指定級別的日誌訊息。
 
ufm::io::PrintStreamfinest (const char *message="")
 記錄 FINEST 級別的日誌,用於最詳細的除錯資訊。
 
ufm::io::PrintStreamfiner (const char *message="")
 記錄 FINER 級別的日誌,用於較詳細的除錯資訊。
 
ufm::io::PrintStreamfine (const char *message="")
 記錄 FINE 級別的日誌,用於一般的除錯資訊。
 
ufm::io::PrintStreamconfig (const char *message="")
 記錄 CONFIG 級別的日誌,用於配置相關的資訊。
 
ufm::io::PrintStreaminfo (const char *message="")
 記錄 INFO 級別的日誌,用於一般的資訊性訊息。
 
ufm::io::PrintStreamwarning (const char *message="")
 記錄 WARNING 級別的日誌,用於警告訊息。
 
ufm::io::PrintStreamsevere (const char *message="")
 記錄 SEVERE 級別的日誌,用於嚴重錯誤訊息。
 
const char * getName (void) const
 取得此 Logger 的名稱標識。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (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::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

詳細描述

日誌記錄器類別,提供結構化的日誌記錄功能。

Logger 類別封裝了 SinkLogger 的功能,提供具名的日誌記錄服務。 支援多種日誌級別,從最詳細的 FINEST 到最嚴重的 SEVERE。 可作為 PrintStream 和 Appendable 使用,支援鏈式呼叫。

使用範例:
// 建立輸出流和日誌接收器
ufm::io::PrintStream& output = getOutputStrem(); // 假設有取得輸出流的方法
ufm::util::SinkLogger sinkLogger(output);
// 建立具名的 Logger
ufm::util::Logger logger(sinkLogger, "MyModule");
// 記錄不同級別的日誌
logger.info("系統啟動完成");
logger.warning("記憶體使用量較高");
logger.severe("發生嚴重錯誤");
// 使用鏈式呼叫記錄詳細資訊
logger.fine("開始處理資料").print(" - 項目數量: ").println(count);
// 從現有 Logger 建立子 Logger
ufm::util::Logger subLogger(logger, "SubModule");
subLogger.config("子模組初始化完成");
// 當作 PrintStream 使用
static_cast<ufm::io::PrintStream&>(logger) << "直接輸出文字";
格式化輸出串流
Definition PrintStream.h:44
日誌記錄器類別,提供結構化的日誌記錄功能。
Definition Logger.h:69
日誌接收器類別,負責實際的日誌輸出處理。
Definition SinkLogger.h:89
參閱
ufm::util::SinkLogger
ufm::io::PrintStream
ufm::lang::Appendable

建構子與解構子說明文件

◆ Logger() [1/2]

ufm::util::Logger::Logger ( ufm::util::SinkLogger & sinkLogger,
const char * name = nullptr )
noexcept

建構 Logger 物件,關聯到指定的接收器。

參數
sinkLogger日誌接收器,負責實際的日誌輸出處理。
name日誌名稱,用於標識此 Logger 的來源,可為 nullptr。

◆ Logger() [2/2]

ufm::util::Logger::Logger ( const ufm::util::Logger & other,
const char * name )
noexcept

從另一個 Logger 建構新的 Logger 物件,繼承其接收器但使用不同名稱。

參數
other來源 Logger 物件,將複製其接收器參考。
nameLogger 的名稱,用於區別不同的日誌來源。

函式成員說明文件

◆ config()

ufm::io::PrintStream & ufm::util::Logger::config ( const char * message = "")
inline

記錄 CONFIG 級別的日誌,用於配置相關的資訊。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ fine()

ufm::io::PrintStream & ufm::util::Logger::fine ( const char * message = "")
inline

記錄 FINE 級別的日誌,用於一般的除錯資訊。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ finer()

ufm::io::PrintStream & ufm::util::Logger::finer ( const char * message = "")
inline

記錄 FINER 級別的日誌,用於較詳細的除錯資訊。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ finest()

ufm::io::PrintStream & ufm::util::Logger::finest ( const char * message = "")
inline

記錄 FINEST 級別的日誌,用於最詳細的除錯資訊。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ getName()

const char * ufm::util::Logger::getName ( void ) const
inline

取得此 Logger 的名稱標識。

傳回值
const char* Logger 名稱字串,若建構時未指定名稱則為 nullptr。

◆ info()

ufm::io::PrintStream & ufm::util::Logger::info ( const char * message = "")
inline

記錄 INFO 級別的日誌,用於一般的資訊性訊息。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ log()

ufm::io::PrintStream & ufm::util::Logger::log ( ufm::util::SinkLogger::Level level = ufm::util::SinkLogger::Level::INFO,
const char * message = "" )
inline

記錄一條指定級別的日誌訊息。

參數
level日誌級別,預設為 INFO 級別。
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ operator ufm::io::PrintStream &()

ufm::util::Logger::operator ufm::io::PrintStream & ( void )
inline

隱式轉換為 PrintStream 參考,允許直接使用輸出操作。

傳回值
ufm::io::PrintStream& 內部 SinkLogger 的 PrintStream 介面參考。

◆ severe()

ufm::io::PrintStream & ufm::util::Logger::severe ( const char * message = "")
inline

記錄 SEVERE 級別的日誌,用於嚴重錯誤訊息。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

◆ warning()

ufm::io::PrintStream & ufm::util::Logger::warning ( const char * message = "")
inline

記錄 WARNING 級別的日誌,用於警告訊息。

參數
message日誌訊息內容,預設為空字串。
傳回值
ufm::io::PrintStream& 回傳 PrintStream 物件參考,支援鏈式呼叫。

此類別(class) 文件是由下列檔案中產生: