github.com/sl1pm4t/consul@v1.4.5-0.20190325224627-74c31c540f9c/logger/syslog_test.go (about)

     1  package logger
     2  
     3  import (
     4  	"os"
     5  	"runtime"
     6  	"testing"
     7  
     8  	"github.com/hashicorp/go-syslog"
     9  	"github.com/hashicorp/logutils"
    10  )
    11  
    12  func TestSyslogFilter(t *testing.T) {
    13  	if runtime.GOOS == "windows" {
    14  		t.Skip("Syslog not supported on Windows")
    15  	}
    16  	if os.Getenv("TRAVIS") == "true" {
    17  		t.Skip("Syslog not supported on travis-ci")
    18  	}
    19  
    20  	l, err := gsyslog.NewLogger(gsyslog.LOG_NOTICE, "LOCAL0", "consul")
    21  	if err != nil {
    22  		t.Fatalf("err: %s", err)
    23  	}
    24  
    25  	filt := LevelFilter()
    26  	filt.MinLevel = logutils.LogLevel("INFO")
    27  
    28  	s := &SyslogWrapper{l, filt}
    29  	n, err := s.Write([]byte("[INFO] test"))
    30  	if err != nil {
    31  		t.Fatalf("err: %s", err)
    32  	}
    33  	if n == 0 {
    34  		t.Fatalf("should have logged")
    35  	}
    36  
    37  	n, err = s.Write([]byte("[DEBUG] test"))
    38  	if err != nil {
    39  		t.Fatalf("err: %s", err)
    40  	}
    41  	if n != 0 {
    42  		t.Fatalf("should not have logged")
    43  	}
    44  }