Skip to content

freman/eventloghook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows EventLog hooks for Logrus :walrus:

Usage

import (
  "log/syslog"
  "github.com/sirupsen/logrus"
  "github.com/freman/eventloghook"
  "golang.org/x/sys/windows/svc/eventlog"
)

func main() {
  log       := logrus.New()
  elog, err = eventlog.Open("Service Name")
  if err != nil {
    panic(err)
  }
  defer elog.Close()
  log.Hooks.Add(eventloghook.NewHook(elog))
}

If you want to output to the windows console/terminal - tho why you'd want to do that vs use logrus built in method I have no idea :D

import (
  "log/syslog"
  "github.com/sirupsen/logrus"
  "github.com/freman/eventloghook"
  "golang.org/x/sys/windows/svc/debug"
)

func main() {
  log       := logrus.New()
  elog = debug.New("Service Name")
  defer elog.Close()
  log.Hooks.Add(eventloghook.NewHook(elog))
}

Breaking Changes

  • 2025-06-04 - Added support for Trace log level, better late than never. Only a concern if you're relying on the event ID for filtering or reporting. Changes:
    • logrus.InfoLevel used to be EID 2 is now EID 3
    • logrus.DebugLevel used to be EID 1 is now EID 2
    • logrus.TraceLevel never existed but is now EID 1

About

Windows EventLog hooks for Logrus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages