pid prefix optional, fixup tests

This commit is contained in:
Derek Collison
2015-01-09 19:02:56 -08:00
parent 7b6fd2b4b6
commit b2eca2ced4
2 changed files with 31 additions and 26 deletions

View File

@@ -18,22 +18,21 @@ type Logger struct {
traceLabel string
}
func NewStdLogger(time, debug, trace, colors bool) *Logger {
func NewStdLogger(time, debug, trace, colors, pid bool) *Logger {
flags := 0
if time {
flags = log.LstdFlags | log.Lmicroseconds
}
l := &Logger{
logger: log.New(os.Stderr, pidPrefix(), flags),
debug: debug,
trace: trace,
pre := ""
if pid {
pre = pidPrefix()
}
// Check to see if stderr is being redirected and if so turn off color
stat, _ := os.Stderr.Stat()
if (stat.Mode() & os.ModeCharDevice) == 0 {
colors = false
l := &Logger{
logger: log.New(os.Stderr, pre, flags),
debug: debug,
trace: trace,
}
if colors {
@@ -45,7 +44,7 @@ func NewStdLogger(time, debug, trace, colors bool) *Logger {
return l
}
func NewFileLogger(filename string, time, debug, trace bool) *Logger {
func NewFileLogger(filename string, time, debug, trace, pid bool) *Logger {
fileflags := os.O_WRONLY | os.O_APPEND | os.O_CREATE
f, err := os.OpenFile(filename, fileflags, 0660)
if err != nil {
@@ -57,8 +56,13 @@ func NewFileLogger(filename string, time, debug, trace bool) *Logger {
flags = log.LstdFlags | log.Lmicroseconds
}
pre := ""
if pid {
pre = pidPrefix()
}
l := &Logger{
logger: log.New(f, pidPrefix(), flags),
logger: log.New(f, pre, flags),
debug: debug,
trace: trace,
}

View File

@@ -1,3 +1,4 @@
// Copyright 2014-2015 Apcera Inc. All rights reserved.
package logger
import (
@@ -10,7 +11,7 @@ import (
)
func TestStdLogger(t *testing.T) {
logger := NewStdLogger(false, false, false, false)
logger := NewStdLogger(false, false, false, false, false)
flags := logger.logger.Flags()
if flags != 0 {
@@ -27,10 +28,10 @@ func TestStdLogger(t *testing.T) {
}
func TestStdLoggerWithDebugTraceAndTime(t *testing.T) {
logger := NewStdLogger(true, true, true, false)
logger := NewStdLogger(true, true, true, false, false)
flags := logger.logger.Flags()
if flags != log.LstdFlags {
if flags != log.LstdFlags|log.Lmicroseconds {
t.Fatalf("Expected %d, received %d\n", log.LstdFlags, flags)
}
@@ -45,42 +46,42 @@ func TestStdLoggerWithDebugTraceAndTime(t *testing.T) {
func TestStdLoggerNotice(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, false, false, false)
logger := NewStdLogger(false, false, false, false, false)
logger.Noticef("foo")
}, "[INFO] foo\n")
}, "[INF] foo\n")
}
func TestStdLoggerNoticeWithColor(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, false, false, true)
logger := NewStdLogger(false, false, false, true, false)
logger.Noticef("foo")
}, "[\x1b[32mINFO\x1b[0m] foo\n")
}, "[\x1b[32mINF\x1b[0m] foo\n")
}
func TestStdLoggerDebug(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, true, false, false)
logger := NewStdLogger(false, true, false, false, false)
logger.Debugf("foo %s", "bar")
}, "[DEBUG] foo bar\n")
}, "[DBG] foo bar\n")
}
func TestStdLoggerDebugWithOutDebug(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, false, false, false)
logger := NewStdLogger(false, false, false, false, false)
logger.Debugf("foo")
}, "")
}
func TestStdLoggerTrace(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, false, true, false)
logger := NewStdLogger(false, false, true, false, false)
logger.Tracef("foo")
}, "[TRACE] foo\n")
}, "[TRC] foo\n")
}
func TestStdLoggerTraceWithOutDebug(t *testing.T) {
expectOutput(t, func() {
logger := NewStdLogger(false, false, false, false)
logger := NewStdLogger(false, false, false, false, false)
logger.Tracef("foo")
}, "")
}
@@ -95,7 +96,7 @@ func TestFileLogger(t *testing.T) {
file, err := ioutil.TempFile(tmpDir, "gnatsd:log_")
file.Close()
logger := NewFileLogger(file.Name(), false, false, false)
logger := NewFileLogger(file.Name(), false, false, false, false)
logger.Noticef("foo")
buf, err := ioutil.ReadFile(file.Name())
@@ -106,7 +107,7 @@ func TestFileLogger(t *testing.T) {
t.Fatal("Expected a non-zero length logfile")
}
if string(buf) != "[INFO] foo\n" {
if string(buf) != "[INF] foo\n" {
t.Fatalf("Expected '%s', received '%s'\n", "[INFO] foo", string(buf))
}
}