|
@@ -87,32 +87,31 @@ func (l *defaultLogger) logf(level Level, format string, v ...interface{}) {
|
|
|
l.RLock()
|
|
l.RLock()
|
|
|
fields := copyFields(l.opts.Fields)
|
|
fields := copyFields(l.opts.Fields)
|
|
|
l.RUnlock()
|
|
l.RUnlock()
|
|
|
-
|
|
|
|
|
- fields["level"] = level.String()
|
|
|
|
|
-
|
|
|
|
|
- if _, file, line, ok := runtime.Caller(l.opts.CallerSkipCount); ok && level.String() == "error" {
|
|
|
|
|
- fields["file"] = fmt.Sprintf("%s:%d", logCallerFilePath(file), line)
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
rec := dlog.Record{
|
|
rec := dlog.Record{
|
|
|
Timestamp: time.Now(),
|
|
Timestamp: time.Now(),
|
|
|
Metadata: make(map[string]string, len(fields)),
|
|
Metadata: make(map[string]string, len(fields)),
|
|
|
}
|
|
}
|
|
|
|
|
+ //s := "[" + rec.Timestamp.Format("2006-01-02 15:04:05.000Z0700")
|
|
|
|
|
+ str := "[" + rec.Timestamp.Format("2006-01-02 15:04:05.000")
|
|
|
|
|
+ if l.opts.Name != "" {
|
|
|
|
|
+ str += " " + l.opts.Name
|
|
|
|
|
+ }
|
|
|
|
|
+ str += "][" + strings.ToUpper(level.String()) + "]"
|
|
|
|
|
+ if _, file, line, ok := runtime.Caller(l.opts.CallerSkipCount); ok && level.String() == "error" {
|
|
|
|
|
+ str += "[ERR:" + fmt.Sprintf("%s:%d", logCallerFilePath(file), line) + "]"
|
|
|
|
|
+ }
|
|
|
if format == "" {
|
|
if format == "" {
|
|
|
rec.Message = fmt.Sprint(v...)
|
|
rec.Message = fmt.Sprint(v...)
|
|
|
} else {
|
|
} else {
|
|
|
rec.Message = fmt.Sprintf(format, v...)
|
|
rec.Message = fmt.Sprintf(format, v...)
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
keys := make([]string, 0, len(fields))
|
|
keys := make([]string, 0, len(fields))
|
|
|
for k, v := range fields {
|
|
for k, v := range fields {
|
|
|
keys = append(keys, k)
|
|
keys = append(keys, k)
|
|
|
rec.Metadata[k] = fmt.Sprintf("%v", v)
|
|
rec.Metadata[k] = fmt.Sprintf("%v", v)
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
sort.Strings(keys)
|
|
sort.Strings(keys)
|
|
|
metadata := ""
|
|
metadata := ""
|
|
|
-
|
|
|
|
|
for i, k := range keys {
|
|
for i, k := range keys {
|
|
|
if i == 0 {
|
|
if i == 0 {
|
|
|
metadata += fmt.Sprintf("%v", fields[k])
|
|
metadata += fmt.Sprintf("%v", fields[k])
|
|
@@ -121,21 +120,7 @@ func (l *defaultLogger) logf(level Level, format string, v ...interface{}) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- var name string
|
|
|
|
|
- if l.opts.Name != "" {
|
|
|
|
|
- name = "[" + l.opts.Name + "]"
|
|
|
|
|
- }
|
|
|
|
|
- t := rec.Timestamp.Format("2006-01-02 15:04:05.000Z0700")
|
|
|
|
|
- //fmt.Printf("%s\n", t)
|
|
|
|
|
- //fmt.Printf("%s\n", name)
|
|
|
|
|
- //fmt.Printf("%s\n", metadata)
|
|
|
|
|
- //fmt.Printf("%v\n", rec.Message)
|
|
|
|
|
- logStr := ""
|
|
|
|
|
- if name == "" {
|
|
|
|
|
- logStr = fmt.Sprintf("%s %s %v\n", t, metadata, rec.Message)
|
|
|
|
|
- } else {
|
|
|
|
|
- logStr = fmt.Sprintf("%s %s %s %v\n", name, t, metadata, rec.Message)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ logStr := fmt.Sprintf("%s %s %v\n", str, metadata, rec.Message)
|
|
|
_, err := l.opts.Out.Write([]byte(logStr))
|
|
_, err := l.opts.Out.Write([]byte(logStr))
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
log.Printf("log [Logf] write error: %s \n", err.Error())
|
|
log.Printf("log [Logf] write error: %s \n", err.Error())
|