檢視原始碼 log_mf_h (stdlib v6.2)

一個將事件記錄到磁碟的事件處理器。

此模組是一個 gen_event 處理器模組,可以安裝在任何 gen_event 程序中。它會將所有傳送到事件管理器的事件記錄到磁碟。每個事件都以二進制形式寫入,這使得記錄速度非常快。然而,必須使用諸如 Report Browser (rb) 之類的工具來讀取這些檔案。事件會寫入多個檔案。當所有檔案都使用完畢後,第一個檔案會被重複使用並覆寫。目錄位置、檔案數量和每個檔案的大小都是可配置的。該目錄將包含一個名為 index 的檔案和報告檔案 1, 2, ...

另請參閱

gen_event, rb

摘要

型別

-opaque args()

要傳送到 gen_event:add_handler/3 的項。

-type b() :: non_neg_integer().
-type f() :: 1..255.
-type pred() :: fun((term()) -> boolean()).

函式

連結到此函式

init(Dir, MaxBytes, MaxFiles)

檢視原始碼
-spec init(Dir, MaxBytes, MaxFiles) -> Args
              when
                  Dir :: file:filename(),
                  MaxBytes :: non_neg_integer(),
                  MaxFiles :: 1..255,
                  Args :: args().

等同於 init(Dir, MaxBytes, MaxFiles, fun(_) -> true end)

連結到此函式

init(Dir, MaxBytes, MaxFiles, Pred)

檢視原始碼
-spec init(Dir, MaxBytes, MaxFiles, Pred) -> Args
              when
                  Dir :: file:filename(),
                  MaxBytes :: non_neg_integer(),
                  MaxFiles :: 1..255,
                  Pred :: fun((Event :: term()) -> boolean()),
                  Args :: args().

初始化事件處理器。返回 Args,它將在呼叫 gen_event:add_handler(EventMgr, log_mf_h, Args) 時使用。

Dir 指定用於日誌檔案的目錄。MaxBytes 指定每個檔案的大小。MaxFiles 指定使用的檔案數量。Pred 是一個用於過濾事件的謂詞函數。如果沒有指定謂詞函數,則會記錄所有事件。