29 lines
693 B
Go
29 lines
693 B
Go
package dlog
|
|
|
|
import "golang.org/x/sys/windows/svc/eventlog"
|
|
|
|
type systemLogger struct {
|
|
inner *eventlog.Log
|
|
}
|
|
|
|
func newSystemLogger(appName string, facility string) (*systemLogger, error) {
|
|
eventLogger, err := eventlog.Open(appName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &systemLogger{inner: eventLogger}, nil
|
|
}
|
|
|
|
func (systemLogger *systemLogger) writeString(severity Severity, message string) {
|
|
switch severity {
|
|
case SeverityError:
|
|
case SeverityCritical:
|
|
case SeverityFatal:
|
|
systemLogger.inner.Error(uint32(severity), message)
|
|
case SeverityWarning:
|
|
systemLogger.inner.Warning(uint32(severity), message)
|
|
default:
|
|
systemLogger.inner.Info(uint32(severity), message)
|
|
}
|
|
}
|