mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-01-24 01:30:25 +08:00
0b1884b6bd
* feat: support caller skip in logx * chore: remove debug prints * chore: remove debug prints * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#2402) Bumps [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: simplify test code * chore: remove new WithFields in logx, and deprecated old WithFields * chore: simplify WithDuration Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
60 lines
985 B
Go
60 lines
985 B
Go
package logx
|
|
|
|
import (
|
|
"encoding/json"
|
|
"log"
|
|
"strings"
|
|
"sync/atomic"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
const testlog = "Stay hungry, stay foolish."
|
|
|
|
func TestCollectSysLog(t *testing.T) {
|
|
CollectSysLog()
|
|
content := getContent(captureOutput(func() {
|
|
log.Print(testlog)
|
|
}))
|
|
assert.True(t, strings.Contains(content, testlog))
|
|
}
|
|
|
|
func TestRedirector(t *testing.T) {
|
|
var r redirector
|
|
content := getContent(captureOutput(func() {
|
|
r.Write([]byte(testlog))
|
|
}))
|
|
assert.Equal(t, testlog, content)
|
|
}
|
|
|
|
func captureOutput(f func()) string {
|
|
w := new(mockWriter)
|
|
old := writer.Swap(w)
|
|
defer writer.Store(old)
|
|
|
|
prevLevel := atomic.LoadUint32(&logLevel)
|
|
SetLevel(InfoLevel)
|
|
f()
|
|
SetLevel(prevLevel)
|
|
|
|
return w.String()
|
|
}
|
|
|
|
func getContent(jsonStr string) string {
|
|
var entry map[string]interface{}
|
|
json.Unmarshal([]byte(jsonStr), &entry)
|
|
|
|
val, ok := entry[contentKey]
|
|
if !ok {
|
|
return ""
|
|
}
|
|
|
|
str, ok := val.(string)
|
|
if !ok {
|
|
return ""
|
|
}
|
|
|
|
return str
|
|
}
|