Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
824 B

package logger
import (
"os"
"runtime"
"testing"
"github.com/hashicorp/go-syslog"
"github.com/hashicorp/logutils"
)
func TestSyslogFilter(t *testing.T) {
if runtime.GOOS == "windows" {
t.Skip("Syslog not supported on Windows")
}
if os.Getenv("TRAVIS") == "true" {
t.Skip("Syslog not supported on travis-ci")
}
l, err := gsyslog.NewLogger(gsyslog.LOG_NOTICE, "LOCAL0", "consul")
if err != nil {
t.Fatalf("err: %s", err)
}
filt := LevelFilter()
filt.MinLevel = logutils.LogLevel("INFO")
s := &SyslogWrapper{l, filt}
n, err := s.Write([]byte("[INFO] test"))
if err != nil {
t.Fatalf("err: %s", err)
}
if n == 0 {
t.Fatalf("should have logged")
}
n, err = s.Write([]byte("[DEBUG] test"))
if err != nil {
t.Fatalf("err: %s", err)
}
if n != 0 {
t.Fatalf("should not have logged")
}
}