"github.com/pkg/errors"
)
-// syslogFormatter is a formatter that is syslog friendly
-type syslogFormatter struct {
-}
+// syslogFormatter is a syslog friendly formatter
+type syslogFormatter struct{}
-// Format convert a log entry into a list of bytes
+// Format converts a log entry into a list of bytes
func (sf *syslogFormatter) Format(entry *logrus.Entry) ([]byte, error) {
- buf := bytes.NewBuffer(nil)
- var (
- err error
- index int
- )
- keys := make([]string, len(entry.Data))
+ var buf bytes.Buffer
+ var err error
+ keys := make([]string, 0, len(entry.Data))
for k := range entry.Data {
- keys[index] = k
- index++
+ keys = append(keys, k)
}
sort.Strings(keys)
- for index = range keys {
- k := keys[index]
- v := entry.Data[k]
- if _, err = buf.WriteString(fmt.Sprintf("[%s]%+v ", k, v)); err != nil {
+ for _, k := range keys {
+ if _, err = buf.WriteString(fmt.Sprintf("[%s]%+v ", k, entry.Data[k])); err != nil {
return nil, errors.Wrapf(err, "buf.WriteString %s", k)
}
}
return buf.Bytes(), nil
}
-// NewLogger return a logger for specified level. Syslog or Windows Events can be turned on.
+// NewLogger returns a logger for specified level. Syslog or Windows Events can be turned on.
func NewLogger(level string, syslog bool) (*logrus.Logger, error) {
var logger *logrus.Logger
logLevel, err := logrus.ParseLevel(level)
return logger, nil
}
-// ExtendLogFields add to existing fields a new batch of log Fields
+// ExtendLogFields adds batch of log Fields to existing fields ones
func ExtendLogFields(input *logrus.Fields, add logrus.Fields) {
i := *input
for k, v := range add {
}
}
-// MergeLogFields combine multiple log fields into a single one
+// MergeLogFields combines multiple log fields into a single one
func MergeLogFields(fields ...logrus.Fields) (output logrus.Fields) {
output = logrus.Fields{}
for _, f := range fields {