查看源代码 log_mf_h (stdlib v6.2)

一个将事件记录到磁盘的事件处理器。

此模块是一个 gen_event 处理模块,可以安装在任何 gen_event 进程中。它将发送到事件管理器的所有事件记录到磁盘上。每个事件都以二进制形式写入,这使得日志记录速度非常快。但是,必须使用诸如 Report Browser(rb)之类的工具才能读取这些文件。事件写入到多个文件中。当所有文件都被使用完后,第一个文件将被重新使用并覆盖。目录位置、文件数量和每个文件的大小都是可配置的。该目录将包含一个名为 index 的文件和报告文件 1, 2, ...

另请参阅

gen_event, rb

摘要

类型

要发送给 gen_event:add_handler/3 的术语。

b()
f()

类型

-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 是一个用于过滤事件的谓词函数。 如果未指定谓词函数,则会记录所有事件。