diff --git a/logger/syslog.go b/logger/syslog.go index 99cfaba1..4ce69c95 100644 --- a/logger/syslog.go +++ b/logger/syslog.go @@ -1,4 +1,7 @@ // Copyright 2012-2014 Apcera Inc. All rights reserved. + +// +build !windows + package logger import ( diff --git a/logger/syslog_test.go b/logger/syslog_test.go index f7a5e543..84924e67 100644 --- a/logger/syslog_test.go +++ b/logger/syslog_test.go @@ -1,3 +1,5 @@ +// +build !windows + package logger import ( diff --git a/logger/syslog_windows.go b/logger/syslog_windows.go new file mode 100644 index 00000000..f6f17c82 --- /dev/null +++ b/logger/syslog_windows.go @@ -0,0 +1,52 @@ +// Copyright 2012-2014 Apcera Inc. All rights reserved. +package logger + +import ( + "fmt" + "log" + "os" +) + +type SysLogger struct { + writer *log.Logger + debug bool + trace bool +} + +func NewSysLogger(debug, trace bool) *SysLogger { + w := log.New(os.Stdout, "gnatsd", log.LstdFlags) + + return &SysLogger{ + writer: w, + debug: debug, + trace: trace, + } +} + +func NewRemoteSysLogger(fqn string, debug, trace bool) *SysLogger { + return NewSysLogger(debug, trace) +} + +func (l *SysLogger) Noticef(format string, v ...interface{}) { + l.writer.Println("NOTICE", fmt.Sprintf(format, v...)) +} + +func (l *SysLogger) Fatalf(format string, v ...interface{}) { + l.writer.Println("CRITICAL", fmt.Sprintf(format, v...)) +} + +func (l *SysLogger) Errorf(format string, v ...interface{}) { + l.writer.Println("ERROR", fmt.Sprintf(format, v...)) +} + +func (l *SysLogger) Debugf(format string, v ...interface{}) { + if l.debug { + l.writer.Println("DEBUG", fmt.Sprintf(format, v...)) + } +} + +func (l *SysLogger) Tracef(format string, v ...interface{}) { + if l.trace { + l.writer.Println("NOTICE", fmt.Sprintf(format, v...)) + } +}