mFrame
載入中...
搜尋中...
無符合項目
Logger.h
1
7#ifndef MFRAME_FE1328F9_8A6A_47FB_97F9_EEC1924B39C5
8#define MFRAME_FE1328F9_8A6A_47FB_97F9_EEC1924B39C5
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "./../io/PrintStream.h"
16#include "./../lang/Object.h"
17#include "./../util/SinkLogger.h"
18
19//----------------------------------------------------------------------------------------
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace ufm::util {
25 class Logger;
26} // namespace ufm::util
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
31
70 /* *************************************************************************************
71 * Variable
72 */
73 private:
75 ufm::util::SinkLogger& vSinkLogger;
77 const char* const vName;
78
79 /* *************************************************************************************
80 * Abstract Method
81 */
82
83 /* *************************************************************************************
84 * Construct Method
85 */
86 public:
93 Logger(ufm::util::SinkLogger& sinkLogger, const char* name = nullptr) noexcept;
94
101 Logger(const ufm::util::Logger& other, const char* name) noexcept;
102
107 virtual ~Logger(void) override;
108
109 /* *************************************************************************************
110 * Operator Method
111 */
112 public:
118 inline operator ufm::io::PrintStream&(void) {
119 return this->vSinkLogger;
120 }
121
122 /* *************************************************************************************
123 * Override -
124 */
125
126 /* *************************************************************************************
127 * Public Method
128 */
129 public:
139 const char* message = "") {
140 return this->vSinkLogger.log(level, this->vName, message);
141 }
142
149 inline ufm::io::PrintStream& finest(const char* message = "") {
150 return this->log(ufm::util::SinkLogger::Level::FINEST, message);
151 }
152
159 inline ufm::io::PrintStream& finer(const char* message = "") {
160 return this->log(ufm::util::SinkLogger::Level::FINER, message);
161 }
162
169 inline ufm::io::PrintStream& fine(const char* message = "") {
170 return this->log(ufm::util::SinkLogger::Level::FINE, message);
171 }
172
179 inline ufm::io::PrintStream& config(const char* message = "") {
180 return this->log(ufm::util::SinkLogger::Level::CONFIG, message);
181 }
182
189 inline ufm::io::PrintStream& info(const char* message = "") {
190 return this->log(ufm::util::SinkLogger::Level::INFO, message);
191 }
192
199 inline ufm::io::PrintStream& warning(const char* message = "") {
200 return this->log(ufm::util::SinkLogger::Level::WARNING, message);
201 }
202
209 inline ufm::io::PrintStream& severe(const char* message = "") {
210 return this->log(ufm::util::SinkLogger::Level::SEVERE, message);
211 }
212
218 inline const char* getName(void) const {
219 return this->vName;
220 }
221
222 /* *************************************************************************************
223 * Protected Method
224 */
225
226 /* *************************************************************************************
227 * Private Method
228 */
229
230 /* *************************************************************************************
231 * Static Variable
232 */
233
234 /* *************************************************************************************
235 * Static Method
236 */
237};
238
239/* ***************************************************************************************
240 * End of file
241 */
242
243#endif /* MFRAME_FE1328F9_8A6A_47FB_97F9_EEC1924B39C5 */
格式化輸出串流
Definition PrintStream.h:44
物件基底類別
Definition Object.h:63
日誌記錄器類別,提供結構化的日誌記錄功能。
Definition Logger.h:69
ufm::io::PrintStream & warning(const char *message="")
記錄 WARNING 級別的日誌,用於警告訊息。
Definition Logger.h:199
ufm::io::PrintStream & finest(const char *message="")
記錄 FINEST 級別的日誌,用於最詳細的除錯資訊。
Definition Logger.h:149
ufm::io::PrintStream & fine(const char *message="")
記錄 FINE 級別的日誌,用於一般的除錯資訊。
Definition Logger.h:169
Logger(ufm::util::SinkLogger &sinkLogger, const char *name=nullptr) noexcept
建構 Logger 物件,關聯到指定的接收器。
ufm::io::PrintStream & info(const char *message="")
記錄 INFO 級別的日誌,用於一般的資訊性訊息。
Definition Logger.h:189
const char * getName(void) const
取得此 Logger 的名稱標識。
Definition Logger.h:218
ufm::io::PrintStream & config(const char *message="")
記錄 CONFIG 級別的日誌,用於配置相關的資訊。
Definition Logger.h:179
ufm::io::PrintStream & log(ufm::util::SinkLogger::Level level=ufm::util::SinkLogger::Level::INFO, const char *message="")
記錄一條指定級別的日誌訊息。
Definition Logger.h:137
ufm::io::PrintStream & severe(const char *message="")
記錄 SEVERE 級別的日誌,用於嚴重錯誤訊息。
Definition Logger.h:209
ufm::io::PrintStream & finer(const char *message="")
記錄 FINER 級別的日誌,用於較詳細的除錯資訊。
Definition Logger.h:159
日誌接收器類別,負責實際的日誌輸出處理。
Definition SinkLogger.h:89
Level
日誌級別列舉,定義日誌訊息的重要性層級。
Definition SinkLogger.h:239
@ WARNING
警告訊息,可能導致問題但不影響基本功能。
@ SEVERE
嚴重錯誤,系統可能無法正常運作。
@ INFO
一般資訊,記錄系統正常運作狀態。
@ CONFIG
配置相關訊息,記錄系統設定資訊。
@ FINER
詳細除錯資訊,提供更多的執行細節。
@ FINEST
最詳細除錯資訊,包含所有執行步驟。
@ FINE
基本除錯資訊,用於一般的問題追蹤。
ufm::io::PrintStream & log(Level level, const char *vName="", const char *message="")
記錄一條指定級別的日誌訊息,包含來源名稱和訊息內容。
Definition Iterable.h:28