[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)
+	}
+
+}