forked from mirror/logrus
1.2 KiB
1.2 KiB
Sentry Hook for Logrus
Sentry provides both self-hosted and hosted solutions for exception tracking. Both client and server are open source.
Usage
Every sentry application defined on the server gets a different
DSN. In the example below replace
YOUR_DSN
with the one created for your application.
import (
"github.com/Sirupsen/logrus"
"github.com/Sirupsen/logrus/hooks/sentry"
)
func main() {
log := logrus.New()
hook, err := logrus_sentry.NewSentryHook(YOUR_DSN, []logrus.Level{
logrus.PanicLevel,
logrus.FatalLevel,
logrus.ErrorLevel,
})
if err == nil {
log.Hooks.Add(hook)
}
}
Special fields
Some logrus fields have a special meaning in this hook, these are server_name and logger. When logs are sent to sentry these fields are treated differently.
- server_name (also known as hostname) is the name of the server which is logging the event (hostname.example.com)
- logger is the part of the application which is logging the event. In go this usually means setting it to the name of the package.