summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/apex/log/default.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/apex/log/default.go')
-rw-r--r--vendor/github.com/apex/log/default.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/github.com/apex/log/default.go b/vendor/github.com/apex/log/default.go
new file mode 100644
index 00000000..22134862
--- /dev/null
+++ b/vendor/github.com/apex/log/default.go
@@ -0,0 +1,45 @@
+package log
+
+import (
+ "bytes"
+ "fmt"
+ "log"
+ "sort"
+)
+
+// field used for sorting.
+type field struct {
+ Name string
+ Value interface{}
+}
+
+// by sorts fields by name.
+type byName []field
+
+func (a byName) Len() int { return len(a) }
+func (a byName) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+func (a byName) Less(i, j int) bool { return a[i].Name < a[j].Name }
+
+// handleStdLog outpouts to the stlib log.
+func handleStdLog(e *Entry) error {
+ level := levelNames[e.Level]
+
+ var fields []field
+
+ for k, v := range e.Fields {
+ fields = append(fields, field{k, v})
+ }
+
+ sort.Sort(byName(fields))
+
+ var b bytes.Buffer
+ fmt.Fprintf(&b, "%5s %-25s", level, e.Message)
+
+ for _, f := range fields {
+ fmt.Fprintf(&b, " %s=%v", f.Name, f.Value)
+ }
+
+ log.Println(b.String())
+
+ return nil
+}