[logger] Add timestamp to logger
This change prepends timestamps to log entries and adds a test to ensure newly created loggers include the appropriate flags to prepend timestamps.
Bug: IN-1171
Change-Id: I15aca5c6143ffcde353522761f932faa2a6f1a9e
diff --git a/logger/logger.go b/logger/logger.go
index 89803ae..30bbc66 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -88,8 +88,8 @@
}
l := &Logger{
LoggerLevel: loggerLevel,
- goLogger: goLog.New(outWriter, "", 0),
- goErrorLogger: goLog.New(errWriter, "", 0),
+ goLogger: goLog.New(outWriter, "", goLog.LstdFlags),
+ goErrorLogger: goLog.New(errWriter, "", goLog.LstdFlags),
color: color,
}
return l
diff --git a/logger/logger_test.go b/logger/logger_test.go
new file mode 100644
index 0000000..fa0ad70
--- /dev/null
+++ b/logger/logger_test.go
@@ -0,0 +1,33 @@
+package logger
+
+import (
+ "context"
+ goLog "log"
+ "os"
+ "testing"
+
+ "fuchsia.googlesource.com/tools/color"
+)
+
+func TestWithContext(t *testing.T) {
+ logger := NewLogger(DebugLevel, color.NewColor(color.ColorAuto), os.Stdout, os.Stderr)
+ ctx := context.Background()
+ if v, ok := ctx.Value(globalLoggerKeyType{}).(*Logger); ok || v != nil {
+ t.Fatalf("Default context should not have globalLoggerKeyType. Expected: \nnil\n but got: \n%+v ", v)
+ }
+ ctx = WithLogger(ctx, logger)
+ if v, ok := ctx.Value(globalLoggerKeyType{}).(*Logger); !ok || v == nil {
+ t.Fatalf("Updated context should have globalLoggerKeyType, but got nil")
+ }
+
+}
+
+func TestNewLogger(t *testing.T) {
+ logger := NewLogger(InfoLevel, color.NewColor(color.ColorAuto), nil, nil)
+ logFlags, errFlags := logger.goLogger.Flags(), logger.goErrorLogger.Flags()
+
+ if logFlags != goLog.LstdFlags || errFlags != goLog.LstdFlags {
+ t.Fatalf("New loggers should have the proper flags set for both standard and error logging. Expected: \n%+v and %+v\n but got: \n%+v and %+v", goLog.LstdFlags, goLog.LstdFlags, logFlags, errFlags)
+ }
+
+}