nteventlog(3)
π nteventlog π
okay bestie, so this one is literally the manual page for nteventlog, section 3 of the manuals β your girl is about to make Windows event logs make sense, fr fr πͺβ¨
πΈ NAME πΈ
nteventlog β the Interface to Windows Event Log, and yes she ate π
π DESCRIPTION π
okay so nteventlog is a generic interface to the Windows event log. It is part of the OS_Mon application, see os_mon. π«Ά
This module is the Windows backend for os_sup, okay? See os_sup. Iconic duo, no cap. π
To retain backwards compatibility, this module can also be used to start a standalone nteventlog process that is not part of the OS_Mon supervision tree. When you start a process like this, you (yes you, the user π«΅) have to supply an identifier as well as a callback function to handle the messages.
The identifier is an arbitrary string, and the vibe check here is: reuse it whenever the same application (or node) wants to start the process. nteventlog gets informed about all events that have arrived to the eventlog since the last accepted message for the current identifier. As long as you use the same identifier, the same eventlog record will not be sent to nteventlog more than once β with the exception of when grave system failures arise, in which case the last records written before the failure may be sent to Erlang again after reboot. (yeah, that part lowkey hurts π)
If the event log is configured to wrap around automatically, records that arrived to the log and got overwritten while nteventlog was not running are lost. π But good news: it detects this state and loses no records that are not overwritten. Queen behavior, honestly. π
The callback function works as described in os_sup.
β¨ See Also β¨
os_monos_sup- Windows NT documentation
π₯ FUNCTIONS π₯
π start/2 π
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().
Equivalent to start_link(Identifier, MFA) except that no link is created between nteventlog and the calling process. so it's giving independent queen energy, no strings attached π
β¨
π start_link/2 π
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().
This function starts the standalone nteventlog process and, if start_link/2 is used, links to it. π bestie is attached, literally.
Identifier is an identifier as described above. π
MFA is the supplied callback function. When nteventlog receives information about a new event, this function will be called as apply(Mod, Func, [Event|Args]) where Event is a tuple
heads up: the original page justβ¦ stops there mid-sentence at "where Event is a tuple". that's the whole sentence, don't come for me, I'm just the messenger π
π stop/0 π
stop() -> stopped.
Stops nteventlog. Usually only used during development. π οΈ The server does not have to be shut down gracefully to maintain its state β so like, you can just dip, she'll be fine. πβ¨
that's the whole page bestie, you're so welcome π«ΆπΈπ¦
β brought to you by Ericsson AB, version os_mon 2.12, manual page nteventlog(3) β¨ that's the whole footer glow-up, periodt π
π
π¦ where this page comes from
- nixos 26.05: erlang 29.1.2
- nixpkgs unstable: erlang 29.1.2
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms