查看源代码 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
中所述。
另请参阅
Windows NT 文档
概要
函数
等同于 start_link(Identifier, MFA)
,只是不会在 nteventlog
和调用进程之间创建链接。
此函数启动独立的 nteventlog
进程,如果使用 start_link/2
,则会链接到该进程。
停止 nteventlog
。通常仅在开发期间使用。服务器不必优雅地关闭以保持其状态。
函数
-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
和调用进程之间创建链接。
-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
。通常仅在开发期间使用。服务器不必优雅地关闭以保持其状态。