diff --git a/entry.go b/entry.go index 3d2c9e0..7e8ad25 100644 --- a/entry.go +++ b/entry.go @@ -85,10 +85,15 @@ func NewEntry(logger *Logger) *Entry { } } +// Returns the bytes representation of this entry from the formatter. +func (entry *Entry) Bytes() ([]byte, error) { + return entry.Logger.Formatter.Format(entry) +} + // Returns the string representation from the reader and ultimately the // formatter. func (entry *Entry) String() (string, error) { - serialized, err := entry.Logger.Formatter.Format(entry) + serialized, err := entry.Bytes() if err != nil { return "", err } diff --git a/hooks/writer/writer.go b/hooks/writer/writer.go index 0532dee..1160c79 100644 --- a/hooks/writer/writer.go +++ b/hooks/writer/writer.go @@ -15,11 +15,11 @@ type Hook struct { // Fire will be called when some logging function is called with current hook // It will format log entry to string and write it to appropriate writer func (hook *Hook) Fire(entry *log.Entry) error { - line, err := entry.String() + line, err := entry.Bytes() if err != nil { return err } - _, err = hook.Writer.Write([]byte(line)) + _, err = hook.Writer.Write(line) return err }