log: add --windows-event-log-level to support Windows Event Log

This provides JSON logs in the Windows Event Log.
This commit is contained in:
Nick Craig-Wood
2025-05-08 16:39:27 +01:00
parent dfa4d94827
commit 15510c66d4
5 changed files with 156 additions and 5 deletions

View File

@@ -32,6 +32,7 @@ const (
LogLevelNotice // Normal logging, -q suppresses
LogLevelInfo // Transfers, needs -v
LogLevelDebug // Debug level, needs -vv
LogLevelOff
)
type logLevelChoices struct{}
@@ -46,6 +47,7 @@ func (logLevelChoices) Choices() []string {
LogLevelNotice: "NOTICE",
LogLevelInfo: "INFO",
LogLevelDebug: "DEBUG",
LogLevelOff: "OFF",
}
}
@@ -66,6 +68,7 @@ const (
SlogLevelCritical = slog.Level(12) // More severe than Error
SlogLevelAlert = slog.Level(16) // More severe than Critical
SlogLevelEmergency = slog.Level(20) // Most severe
SlogLevelOff = slog.Level(24) // A very high value
)
// Map our level numbers to slog level numbers
@@ -78,6 +81,7 @@ var levelToSlog = []slog.Level{
LogLevelNotice: SlogLevelNotice,
LogLevelInfo: slog.LevelInfo,
LogLevelDebug: slog.LevelDebug,
LogLevelOff: SlogLevelOff,
}
// LogValueItem describes keyed item for a JSON log entry