nteventlog provides a generic interface to the Windows
      event log. It is part of the OS_Mon application, see
      os_mon(6).
    This module is used as the Windows backend for os_sup. See
      os_sup(3).
    To retain backwards compatibility, this module can also be used
      to start a standalone nteventlog process which is not part
      of the OS_Mon supervision tree. When starting such a process,
      the user has to supply an identifier as well as a callback
      function to handle the messages.
    The identifier, an arbitrary string, should be reused whenever
      the same application (or node) wants to start the process.
      nteventlog is informed about all events that have arrived
      to the eventlog since the last accepted message for the current
      identifier. As long as the same identifier is used, the same
      eventlog record will not be sent to nteventlog more than
      once (with the exception of when graved system failures arise, in
      which case the last records written before the failure may be
      sent to Erlang again after reboot).
    If the event log is configured to wrap around automatically,
      records that have arrived to the log and been overwritten when
      nteventlog was not running are lost. However, it detects
      this state and loses no records that are not overwritten.
    The callback function works as described in os_sup(3).