查看源代码 nteventlog (os_mon v2.10.1)

Windows 事件日志接口

nteventlog 提供 Windows 事件日志的通用接口。它是 OS_Mon 应用程序的一部分,请参阅 os_mon

此模块用作 os_sup 的 Windows 后端。请参阅 os_sup

为了保持向后兼容性,此模块还可以用于启动独立的 nteventlog 进程,该进程不是 OS_Mon 监督树的一部分。启动此类进程时,用户必须提供一个标识符以及一个回调函数来处理消息。

标识符(任意字符串)应在同一应用程序(或节点)想要启动该进程时重复使用。nteventlog 会收到自当前标识符的上次接受的消息以来,事件日志中收到的所有事件的通知。只要使用相同的标识符,同一个事件日志记录就不会被多次发送到 nteventlog(除非出现严重的系统故障,在这种情况下,故障前写入的最后记录可能会在重启后再次发送到 Erlang)。

如果事件日志配置为自动换行,则在 nteventlog 未运行时到达日志并被覆盖的记录将会丢失。但是,它会检测到此状态,并且不会丢失未被覆盖的记录。

回调函数的工作方式如 os_sup 中所述。

另请参阅

os_mon, os_sup

Windows NT 文档

概要

函数

等同于 start_link(Identifier, MFA),只是不会在 nteventlog 和调用进程之间创建链接。

此函数启动独立的 nteventlog 进程,如果使用 start_link/2,则会链接到该进程。

停止 nteventlog。通常仅在开发期间使用。服务器不必优雅地关闭以保持其状态。

函数

链接到此函数

start(Identifier, MFA)

查看源代码
-spec start(Identifier, MFA) -> Result
               when
                   Identifier :: string() | atom(),
                   MFA :: {Mod, Func, Args},
                   Mod :: atom(),
                   Func :: atom(),
                   Args :: [term()],
                   Result :: {ok, Pid} | {error, {already_started, Pid}},
                   Pid :: pid().

等同于 start_link(Identifier, MFA),只是不会在 nteventlog 和调用进程之间创建链接。

链接到此函数

start_link(Identifier, MFA)

查看源代码
-spec start_link(Identifier, MFA) -> Result
                    when
                        Identifier :: string() | atom(),
                        MFA :: {Mod, Func, Args},
                        Mod :: atom(),
                        Func :: atom(),
                        Args :: [term()],
                        Result :: {ok, Pid} | {error, {already_started, Pid}},
                        Pid :: pid().

此函数启动独立的 nteventlog 进程,如果使用 start_link/2,则会链接到该进程。

Identifier 是如上所述的标识符。

MFA 是提供的回调函数。当 nteventlog 收到有关新事件的信息时,将调用此函数,方式为 apply(Mod, Func, [Event|Args]),其中 Event 是一个元组

-spec stop() -> stopped.

停止 nteventlog。通常仅在开发期间使用。服务器不必优雅地关闭以保持其状态。