diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a988100 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +coverage.out +logrussentry diff --git a/.travis.yml b/.travis.yml index 4b8c336..32bc716 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,20 +1,23 @@ sudo: false language: go go: - - 1.4 - - 1.5 - - 1.6 - - 1.7 - - tip -matrix: - allow_failures: - - go: tip + - 1.9 + +env: + global: + secure: swil3Y+gIZkN/Ch6NF13dM1QPF+rABiW5kTSP149arwwu1tcDGIv/64zifGzrOxkrez9ZUQzJs5fqsBtRX5p4Q8hC7s8D+3On5TqLovPUr4Pu5Fjy4VJdGz6NaD1Zp1hcwBPJo30efI16utACfjDSuvGhc2s3W98LmZJajaNqVbDFYOkCgZQgIToWeMQ25ZcObvsM+RrJUsZMndSaCZ0N4JTA3fb4uygOmd60qo/kcoiYbp7daP0cshq9IggcQPlPgVraodmY4MLy5bCRHtN6xzqa0DfzvGHqPp815pIYCYi2AxfdkrnUz1ZZxGIv7lrC4MHe+kC7YSe1YhJYfxEFInXhbOd5bcdQeJ0By1V0woku5wzXU7MrE4ZqzABYUhbEFdyWFrBqkvMWkLE70uFhpRxQgE8x9C0qbjY7/yNK0RRPXyiGn98kk6eio+H1fPdxUI/PlrmblUiObvjnWZo+rSWajSlzdYzFvY+OOrP3H7dSQTbotsqqqQYyIILxOX+zbQR+SNlRURqhra7xOreYSSaCyZBzCi0O3B4iz2AdwRdb6OVz7YRIJZuOr02Ht+H0csnzMs3IWHxjLxB6SmpQvZ1cMUy04vgQWsghcTip1jVsU5oTYLtW0V501p0DjcLdzKo6lj+fddjMLeV0Ok6S1v717Cu03DaMYzbp2VnXjI= + before_install: - go get github.com/axw/gocov/gocov - go get github.com/mattn/goveralls - - if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi + - if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; + fi + before_script: - go vet ./... - gofmt -s -l . + script: - - $HOME/gopath/bin/goveralls -service=travis-ci + - go test -v -covermode=count -coverprofile=coverage.out + - "$HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci -repotoken + $COVERALLS_TOKEN" diff --git a/README.md b/README.md index fbdb713..126af25 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Sentry Hook for Logrus :walrus: -[![Build Status](https://travis-ci.org/evalphobia/logrus_sentry.svg?branch=master)](https://travis-ci.org/evalphobia/logrus_sentry) [![Coverage Status](https://coveralls.io/repos/evalphobia/logrus_sentry/badge.svg?branch=master&service=github)](https://coveralls.io/github/evalphobia/logrus_sentry?branch=master) [![GoDoc](https://godoc.org/github.com/evalphobia/logrus_sentry?status.svg)](https://godoc.org/github.com/evalphobia/logrus_sentry) +[![Build Status](https://travis-ci.org/kiip/logrussentry.svg?branch=master)](https://travis-ci.org/kiip/logrussentry) [![Coverage Status](https://coveralls.io/repos/github/kiip/logrussentry/badge.svg?branch=master)](https://coveralls.io/github/kiip/logrussentry?branch=master) [![GoDoc](https://godoc.org/github.com/kiip/logrussentry?status.svg)](https://godoc.org/github.com/kiip/logrussentry) [Sentry](https://getsentry.com) provides both self-hosted and hosted solutions for exception tracking. @@ -16,13 +16,13 @@ Every sentry application defined on the server gets a different ```go import ( - "github.com/sirupsen/logrus" - "github.com/evalphobia/logrus_sentry" + "github.com/kiip/logrus" + "github.com/kiip/logrussentry" ) func main() { log := logrus.New() - hook, err := logrus_sentry.NewSentryHook(YOUR_DSN, []logrus.Level{ + hook, err := logrussentry.NewSentryHook(YOUR_DSN, []logrus.Level{ logrus.PanicLevel, logrus.FatalLevel, logrus.ErrorLevel, @@ -45,7 +45,7 @@ levels := []logrus.Level{ logrus.FatalLevel, logrus.ErrorLevel, } -hook, err := logrus_sentry.NewWithTagsSentryHook(YOUR_DSN, tags, levels) +hook, err := logrussentry.NewWithTagsSentryHook(YOUR_DSN, tags, levels) ``` @@ -54,8 +54,8 @@ the `NewWithClientSentryHook` constructor: ```go import ( - "github.com/sirupsen/logrus" - "github.com/evalphobia/logrus_sentry" + "github.com/kiip/logrus" + "github.com/kiip/logrussentry" "github.com/getsentry/raven-go" ) @@ -67,7 +67,7 @@ func main() { log.Fatal(err) } - hook, err := logrus_sentry.NewWithClientSentryHook(client, []logrus.Level{ + hook, err := logrussentry.NewWithClientSentryHook(client, []logrus.Level{ logrus.PanicLevel, logrus.FatalLevel, logrus.ErrorLevel, @@ -116,7 +116,7 @@ The SentryHook has a default timeout of `100 milliseconds` when created with a call to `NewSentryHook`. This can be changed by assigning a value to the `Timeout` field: ```go -hook, _ := logrus_sentry.NewSentryHook(...) +hook, _ := logrussentry.NewSentryHook(...) hook.Timeout = 20*time.Second ``` @@ -126,7 +126,7 @@ By default the hook will not send any stacktraces. However, this can be enabled with: ```go -hook, _ := logrus_sentry.NewSentryHook(...) +hook, _ := logrussentry.NewSentryHook(...) hook.StacktraceConfiguration.Enable = true ``` diff --git a/async_test.go b/async_test.go index 4488e9b..86e654c 100644 --- a/async_test.go +++ b/async_test.go @@ -1,4 +1,4 @@ -package logrus_sentry +package logrussentry import ( "net/http" @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/sirupsen/logrus" + "github.com/kiip/logrus" ) func TestParallelLogging(t *testing.T) { diff --git a/data_field.go b/data_field.go index 37c89fb..de5dcc1 100644 --- a/data_field.go +++ b/data_field.go @@ -1,10 +1,10 @@ -package logrus_sentry +package logrussentry import ( "net/http" "github.com/getsentry/raven-go" - "github.com/sirupsen/logrus" + "github.com/kiip/logrus" ) const ( diff --git a/data_field_test.go b/data_field_test.go index 97d6ac5..a6c0d6d 100644 --- a/data_field_test.go +++ b/data_field_test.go @@ -1,4 +1,4 @@ -package logrus_sentry +package logrussentry import ( "errors" @@ -8,7 +8,7 @@ import ( "testing" "github.com/getsentry/raven-go" - "github.com/sirupsen/logrus" + "github.com/kiip/logrus" "github.com/stretchr/testify/assert" ) diff --git a/sentry.go b/sentry.go index cdd7012..973250b 100644 --- a/sentry.go +++ b/sentry.go @@ -1,4 +1,4 @@ -package logrus_sentry +package logrussentry import ( "encoding/json" @@ -8,8 +8,8 @@ import ( "time" "github.com/getsentry/raven-go" + "github.com/kiip/logrus" "github.com/pkg/errors" - "github.com/sirupsen/logrus" ) var ( @@ -313,7 +313,7 @@ func (hook *SentryHook) convertStackTrace(st errors.StackTrace) *raven.Stacktrac pc := uintptr(stFrames[i]) fn := runtime.FuncForPC(pc) file, line := fn.FileLine(pc) - frame := raven.NewStacktraceFrame(pc, file, line, stConfig.Context, stConfig.InAppPrefixes) + frame := raven.NewStacktraceFrame(pc, fn.Name(), file, line, stConfig.Context, stConfig.InAppPrefixes) if frame != nil { frames = append(frames, frame) } diff --git a/sentry_test.go b/sentry_test.go index 701f9d8..ee08bbd 100644 --- a/sentry_test.go +++ b/sentry_test.go @@ -1,4 +1,4 @@ -package logrus_sentry +package logrussentry import ( "compress/zlib" @@ -16,8 +16,8 @@ import ( "time" "github.com/getsentry/raven-go" + "github.com/kiip/logrus" pkgerrors "github.com/pkg/errors" - "github.com/sirupsen/logrus" ) const ( @@ -278,8 +278,10 @@ func TestSentryStacktrace(t *testing.T) { if stacktraceSize == 0 { t.Error("Stacktrace should not be empty") } - lastFrame := packet.Stacktrace.Frames[stacktraceSize-2] - expectedSuffix := "logrus_sentry/sentry_test.go" + + lastFrame := packet.Stacktrace.Frames[stacktraceSize-1] + expectedSuffix := "logrussentry/sentry_test.go" + if !strings.HasSuffix(lastFrame.Filename, expectedSuffix) { t.Errorf("File name should have ended with %s, was %s", expectedSuffix, lastFrame.Filename) } @@ -290,7 +292,7 @@ func TestSentryStacktrace(t *testing.T) { t.Error("Frame should not be identified as in_app without prefixes") } - hook.StacktraceConfiguration.InAppPrefixes = []string{"github.com/sirupsen/logrus"} + hook.StacktraceConfiguration.InAppPrefixes = []string{"github.com/kiip/logrus"} hook.StacktraceConfiguration.Context = 2 hook.StacktraceConfiguration.Skip = 2 @@ -301,7 +303,7 @@ func TestSentryStacktrace(t *testing.T) { t.Error("Stacktrace should not be empty") } lastFrame = packet.Stacktrace.Frames[stacktraceSize-1] - expectedFilename := "github.com/sirupsen/logrus/entry.go" + expectedFilename := "github.com/kiip/logrus/entry.go" if lastFrame.Filename != expectedFilename { t.Errorf("File name should have been %s, was %s", expectedFilename, lastFrame.Filename) } diff --git a/utils.go b/utils.go index 8b4a909..ccb4fb7 100644 --- a/utils.go +++ b/utils.go @@ -1,4 +1,4 @@ -package logrus_sentry +package logrussentry import ( "fmt"