@@ -323,6 +323,48 @@ typedef uint8_t btck_Warning;
323323#define btck_Warning_UNKNOWN_NEW_RULES_ACTIVATED ((btck_Warning)(0 ))
324324#define btck_Warning_LARGE_WORK_INVALID_CHAIN ((btck_Warning)(1 ))
325325
326+ /* *
327+ * A collection of logging categories that may be encountered by kernel code.
328+ */
329+ typedef uint8_t btck_LogCategory;
330+ #define btck_LogCategory_ALL ((btck_LogCategory)(0 ))
331+ #define btck_LogCategory_BENCH ((btck_LogCategory)(1 ))
332+ #define btck_LogCategory_BLOCKSTORAGE ((btck_LogCategory)(2 ))
333+ #define btck_LogCategory_COINDB ((btck_LogCategory)(3 ))
334+ #define btck_LogCategory_ESTIMATEFEE ((btck_LogCategory)(4 ))
335+ #define btck_LogCategory_KERNEL ((btck_LogCategory)(5 ))
336+ #define btck_LogCategory_LEVELDB ((btck_LogCategory)(6 ))
337+ #define btck_LogCategory_MEMPOOL ((btck_LogCategory)(7 ))
338+ #define btck_LogCategory_PRUNE ((btck_LogCategory)(8 ))
339+ #define btck_LogCategory_RAND ((btck_LogCategory)(9 ))
340+ #define btck_LogCategory_REINDEX ((btck_LogCategory)(10 ))
341+ #define btck_LogCategory_TXPACKAGES ((btck_LogCategory)(11 ))
342+ #define btck_LogCategory_VALIDATION ((btck_LogCategory)(12 ))
343+
344+ /* *
345+ * The level at which logs should be produced.
346+ */
347+ typedef uint8_t btck_LogLevel;
348+ #define btck_LogLevel_TRACE ((btck_LogLevel)(0 ))
349+ #define btck_LogLevel_DEBUG ((btck_LogLevel)(1 ))
350+ #define btck_LogLevel_INFO ((btck_LogLevel)(2 ))
351+ #define btck_LogLevel_WARNING ((btck_LogLevel)(3 ))
352+ #define btck_LogLevel_ERROR ((btck_LogLevel)(4 ))
353+
354+ /* *
355+ * A structured log entry passed to the logging callback.
356+ */
357+ typedef struct {
358+ btck_StringView message; // !< Log message.
359+ btck_StringView file_name; // !< Source file name.
360+ btck_StringView function_name; // !< Source function name.
361+ btck_StringView thread_name; // !< Thread name.
362+ int64_t timestamp_ns; // !< Timestamp in nanoseconds since epoch.
363+ uint32_t line; // !< Source line number.
364+ btck_LogLevel level; // !< Log level.
365+ btck_LogCategory category; // !< Log category.
366+ } btck_LogEntry;
367+
326368/* * Callback function types */
327369
328370/* *
@@ -428,34 +470,6 @@ typedef struct {
428470 btck_NotifyFatalError fatal_error; // !< An unrecoverable system error encountered by the library.
429471} btck_NotificationInterfaceCallbacks;
430472
431- /* *
432- * A collection of logging categories that may be encountered by kernel code.
433- */
434- typedef uint8_t btck_LogCategory;
435- #define btck_LogCategory_ALL ((btck_LogCategory)(0 ))
436- #define btck_LogCategory_BENCH ((btck_LogCategory)(1 ))
437- #define btck_LogCategory_BLOCKSTORAGE ((btck_LogCategory)(2 ))
438- #define btck_LogCategory_COINDB ((btck_LogCategory)(3 ))
439- #define btck_LogCategory_ESTIMATEFEE ((btck_LogCategory)(4 ))
440- #define btck_LogCategory_KERNEL ((btck_LogCategory)(5 ))
441- #define btck_LogCategory_LEVELDB ((btck_LogCategory)(6 ))
442- #define btck_LogCategory_MEMPOOL ((btck_LogCategory)(7 ))
443- #define btck_LogCategory_PRUNE ((btck_LogCategory)(8 ))
444- #define btck_LogCategory_RAND ((btck_LogCategory)(9 ))
445- #define btck_LogCategory_REINDEX ((btck_LogCategory)(10 ))
446- #define btck_LogCategory_TXPACKAGES ((btck_LogCategory)(11 ))
447- #define btck_LogCategory_VALIDATION ((btck_LogCategory)(12 ))
448-
449- /* *
450- * The level at which logs should be produced.
451- */
452- typedef uint8_t btck_LogLevel;
453- #define btck_LogLevel_TRACE ((btck_LogLevel)(0 ))
454- #define btck_LogLevel_DEBUG ((btck_LogLevel)(1 ))
455- #define btck_LogLevel_INFO ((btck_LogLevel)(2 ))
456- #define btck_LogLevel_WARNING ((btck_LogLevel)(3 ))
457- #define btck_LogLevel_ERROR ((btck_LogLevel)(4 ))
458-
459473/* *
460474 * Options controlling the format of log messages.
461475 *
0 commit comments