func isError(e *log.Entry) bool {
	l := e.Level
	return (l == log.ErrorLevel || l == log.FatalLevel || l == log.PanicLevel) &&
		e.HasCaller()
}
isError determines whether an entry should be logged as an error
(i.e. with attached `context`).

This requires the caller information to be present on the log
entry, as stacktraces are not available currently.
package logs
import (
	"bytes"
	"encoding/json"
	log "github.com/sirupsen/logrus"
)
type stackdriverFormatter struct{}
type serviceContext struct {
	Service string `json:"service"`
	Version string `json:"version"`
}
type reportLocation struct {
	FilePath     string `json:"filePath"`
	LineNumber   int    `json:"lineNumber"`
	FunctionName string `json:"functionName"`
}
var nixeryContext = serviceContext{
	Service: "nixery",
}