Aros/開發者/文件/日誌記錄
外觀
這目前是一個草稿頁面...
- log.resource
- 對日誌記錄的通用 API。
- debug.logger
- 用於除錯日誌輸出的硬編碼處理器。用於
- 其他日誌型別,直到 exec 可以處理記憶體請求。
- generic.logger
- 在 log.resource:init() 之後使用的硬編碼處理器,用於處理除除錯日誌記錄之外的所有日誌記錄。
- 注意 -:不應在 allocmem/freemem(因為它可能使用它們)或 IRQ 中使用
- seriallog.resource
- 將 DEBUG 型別日誌輸出轉儲到序列裝置的 ROM 常駐監聽器
- (可透過 grub 命令列配置)
- C
- BufferLog LOGTYPE OUTPUTFILE
- 為指定的 LOGTYPE 註冊一個監聽器,該監聽器將日誌輸出緩衝到 OUTPUTFILE。
- SYS
- Tools/LogViewer LOGFILE
- 用於顯示使用 C:BufferLog 緩衝的 LOGFILE 的工具。
- LOG_TYPEID
- LOG_DATA
- LOG_TYPE_DEBUG
- DEBUG_ERROR
- DEBUG_WARN
- DEBUG_INFO
- LOG_TYPE_SYSTEM
- SYSTEM_ERROR
- SYSTEM_WARN
- SYSTEM_INFO
- LOG_TYPE_APPLICATION
- APPLICATION_ERROR
- APPLICATION_WARN
- APPLICATION_INFO
IPTR LOGR_RegisterProcessor(LOG_TYPEID, struct LogProcessor *)
IPTR LOGR_RegisterListener(LOG_TYPEID, struct LogListener *)
BOOL LOGR_LogEvent(LOG_TYPEID, LOG_DATA, char *LOG_SRC, char *LOG_TEMPLATE, args ...)
IPTR LOGR_ObtainLogEvents(LOG_TYPEID, LOG_EVENTFLAGS)
IPTR LOGR_LogEventDelete(IPTR)
IPTR LOGR_ReleaseLogEvents(IPTR)
用於將資料輸出到指定的日誌。
返回每個呼叫者的控制代碼。如果 (LOG_EVENTFLAGS == LOG_EVENTLIST_UNIQUE) 則只有在沒有其他訪問發生時才會成功。
內部:將 handle->active_event 設定為第一個日誌條目,並增加其訪問計數。
(訊號量保護?)
內部:將 handle->active_event 設定為下一個日誌條目 - 減少當前條目的訪問計數並增加下一個條目的訪問計數
(訊號量保護?)
刪除一個日誌條目。
內部:刪除 handle->active_event - 或者如果其訪問計數 > 0,則將其標記為刪除
必須使用從 LOGR_ObtainLogEvents 獲取的控制代碼呼叫。減少 handle->active_event 的訪問計數,並釋放每個呼叫者的控制代碼。