An event handler that logs events to disk.
This module is a gen_event
handler module that can be installed
in any gen_event
process. It logs onto disk all events that are
sent to an event manager. Each event is written as a binary, which makes
the logging very fast. However, a tool such as the Report Browser
(rb(3)
) must be used to read
the files. The events are written to multiple files. When all files have
been used, the first one is reused and overwritten. The directory
location, the number of files, and the size of each file are configurable.
The directory will include one file called index
, and report files
1, 2, ...
.
Functions
init(Dir, MaxBytes, MaxFiles) -> Args
Dir = file:filename()
MaxBytes = integer() >= 0
MaxFiles = 1..255
Args = args()
init(Dir, MaxBytes, MaxFiles, Pred) -> Args
Dir = file:filename()
MaxBytes = integer() >= 0
MaxFiles = 1..255
Pred = fun((Event :: term()) -> boolean())
Args = args()
Initiates the event handler. Returns
, which
is to be used in a call to
gen_event:add_handler(EventMgr, log_mf_h,
.
specifies which directory to use for the log
files.
specifies the size of each
individual file.
specifies how many
files are used.
is a predicate function used
to filter the events. If no predicate function is specified, all
events are logged.