diff --git a/.travis.yml b/.travis.yml index 5e20aa4..996f57a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,8 @@ git: depth: 1 env: - GO111MODULE=on -go: [1.13.x, 1.14.x] -os: [linux, osx] +go: 1.15.x +os: linux install: - ./travis/install.sh script: diff --git a/entry.go b/entry.go index 5a5cbfe..2e87f5f 100644 --- a/entry.go +++ b/entry.go @@ -123,11 +123,9 @@ func (entry *Entry) WithFields(fields Fields) *Entry { for k, v := range fields { isErrField := false if t := reflect.TypeOf(v); t != nil { - switch t.Kind() { - case reflect.Func: + switch { + case t.Kind() == reflect.Func, t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Func: isErrField = true - case reflect.Ptr: - isErrField = t.Elem().Kind() == reflect.Func } } if isErrField { diff --git a/json_formatter.go b/json_formatter.go index ba7f237..afaf0fc 100644 --- a/json_formatter.go +++ b/json_formatter.go @@ -118,7 +118,7 @@ func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { encoder.SetIndent("", " ") } if err := encoder.Encode(data); err != nil { - return nil, fmt.Errorf("failed to marshal fields to JSON, %v", err) + return nil, fmt.Errorf("failed to marshal fields to JSON, %w", err) } return b.Bytes(), nil diff --git a/text_formatter.go b/text_formatter.go index 3c28b54..8fc698a 100644 --- a/text_formatter.go +++ b/text_formatter.go @@ -235,6 +235,8 @@ func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []strin levelColor = yellow case ErrorLevel, FatalLevel, PanicLevel: levelColor = red + case InfoLevel: + levelColor = blue default: levelColor = blue } diff --git a/travis/install.sh b/travis/install.sh index 5fc40dd..8cbd0d7 100755 --- a/travis/install.sh +++ b/travis/install.sh @@ -2,9 +2,9 @@ set -e -# Install golanci 1.21.0 -if [[ "$TRAVIS_GO_VERSION" =~ ^1\.13\. ]]; then - curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.21.0 +# Install golanci 1.32.2 +if [[ "$TRAVIS_GO_VERSION" =~ ^1\.15\. ]]; then + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.32.2 fi # Only do this for go1.12 when modules are on so that it doesn't need to be done when modules are off as well. @@ -15,8 +15,3 @@ fi if [[ "$GO111MODULE" == "on" ]]; then go mod download fi - -if [[ "$GO111MODULE" == "off" ]]; then - # Should contain all regular (not indirect) modules from go.mod - go get github.com/stretchr/testify golang.org/x/sys/unix golang.org/x/sys/windows -fi diff --git a/travis/lint.sh b/travis/lint.sh index 0ed1d7c..98fb5bb 100755 --- a/travis/lint.sh +++ b/travis/lint.sh @@ -1,5 +1,7 @@ #!/bin/bash -if [[ "$TRAVIS_GO_VERSION" =~ ^1\.13\. ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$GO111MODULE" == "on" ]]; then +if [[ "$TRAVIS_GO_VERSION" =~ ^1\.15\. ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$GO111MODULE" == "on" ]]; then $(go env GOPATH)/bin/golangci-lint run ./... +else + echo "linter has not been run" fi