Add option to show full timestamp in TextFormatter

Sometimes elapsed seconds just aren't enough.
diff --git a/text_formatter.go b/text_formatter.go
index 4e51734..89fd8a8 100644
--- a/text_formatter.go
+++ b/text_formatter.go
@@ -39,6 +39,7 @@
 	// Set to true to disable timestamp logging (useful when the output
 	// is redirected to a logging system already adding a timestamp)
 	DisableTimestamp bool
+	FullTimestamp    bool
 }
 
 func (f *TextFormatter) Format(entry *Entry) ([]byte, error) {
@@ -56,7 +57,7 @@
 	isColored := (f.ForceColors || isTerminal) && !f.DisableColors
 
 	if isColored {
-		printColored(b, entry, keys)
+		f.printColored(b, entry, keys)
 	} else {
 		if !f.DisableTimestamp {
 			f.appendKeyValue(b, "time", entry.Time.Format(time.RFC3339))
@@ -72,7 +73,7 @@
 	return b.Bytes(), nil
 }
 
-func printColored(b *bytes.Buffer, entry *Entry, keys []string) {
+func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []string) {
 	var levelColor int
 	switch entry.Level {
 	case WarnLevel:
@@ -85,7 +86,11 @@
 
 	levelText := strings.ToUpper(entry.Level.String())[0:4]
 
-	fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d] %-44s ", levelColor, levelText, miniTS(), entry.Message)
+	if !f.FullTimestamp {
+		fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d] %-44s ", levelColor, levelText, miniTS(), entry.Message)
+	} else {
+		fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%s] %-44s ", levelColor, levelText, entry.Time.Format(time.RFC3339), entry.Message)
+	}
 	for _, k := range keys {
 		v := entry.Data[k]
 		fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=%v", levelColor, k, v)