do bitmask better, add (COMPLETELY 100% EXPERIMENTAL NOT DONE YET) eventlog support to logger

This commit is contained in:
2021-12-15 04:49:03 -05:00
parent d5b1d449e5
commit 3975f8b11f
17 changed files with 698 additions and 224 deletions

48
logging/consts_windows.go Normal file
View File

@@ -0,0 +1,48 @@
package logging
import (
`os`
`path/filepath`
`regexp`
)
// Flags for logger configuration
const (
LogUndefined types.MaskBit = 1 << iota
LogWinLogger
LogFile
LogStdout
)
var (
defLogPaths = []string{
filepath.Join(os.Getenv("ALLUSERSPROFILE"), "golang", "program.log"), // C:\ProgramData\log\golang\program.log
filepath.Join(os.Getenv("LOCALAPPDATA"), "log", "golang", "program.log"), // C:\Users\<username>\AppData\Local\log\golang\program.log
}
)
var ptrnSourceExists *regexp.Regexp = regexp.MustCompile(`registry\skey\salready\sexists$`)
// Default WinEventID
var DefaultEventID *WinEventID = &WinEventID{
Alert: EventAlert,
Crit: EventCrit,
Debug: EventDebug,
Emerg: EventEmerg,
Err: EventErr,
Info: EventInfo,
Notice: EventNotice,
Warning: EventWarning,
}
// Default Event IDs for WinEventID.
const (
EventAlert uint32 = 1 << iota
EventCrit
EventDebug
EventEmerg
EventErr
EventInfo
EventNotice
EventWarning
)