diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 54da8713eacd..0cae0e617094 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -171,4 +171,11 @@ updates: interval: weekly labels: - "A:automerge" - - dependencies \ No newline at end of file + - dependencies + - package-ecosystem: gomod + directory: "log" + schedule: + interval: weekly + labels: + - "A:automerge" + - dependencies diff --git a/.github/pr_labeler.yml b/.github/pr_labeler.yml index c6ea1a1f36eb..53ccb932225c 100644 --- a/.github/pr_labeler.yml +++ b/.github/pr_labeler.yml @@ -75,3 +75,5 @@ - store/**/* "C:orm": - orm/**/* +"C:log": + - log/* diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f1a4237efdc4..b184ba172273 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -612,6 +612,34 @@ jobs: with: projectBaseDir: store/ + test-log: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.19.4 + - uses: technote-space/get-diff-action@v6.1.2 + id: git_diff + with: + PATTERNS: | + log/*.go + log/go.mod + log/go.sum + - name: tests + if: env.GIT_DIFF + run: | + cd log + go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock rocksdb_build' ./... + - name: sonarcloud + if: ${{ env.GIT_DIFF && !github.event.pull_request.draft }} + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + with: + projectBaseDir: log/ + ############################# ### Cosmos SDK x/{module} ### ############################# @@ -796,4 +824,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: - projectBaseDir: x/upgrade/ \ No newline at end of file + projectBaseDir: x/upgrade/ diff --git a/go.work.example b/go.work.example index ab9cb4eab4a9..a4fd9c9524ca 100644 --- a/go.work.example +++ b/go.work.example @@ -8,6 +8,7 @@ use ( ./core ./depinject ./errors + ./log ./math ./orm ./simapp diff --git a/log/CHANGELOG.md b/log/CHANGELOG.md new file mode 100644 index 000000000000..16de809f2717 --- /dev/null +++ b/log/CHANGELOG.md @@ -0,0 +1,32 @@ + + +# Changelog + +## [Unreleased] diff --git a/log/go.mod b/log/go.mod new file mode 100644 index 000000000000..326a78022d94 --- /dev/null +++ b/log/go.mod @@ -0,0 +1,3 @@ +module github.com/cosmos/cosmos-sdk/log + +go 1.19 diff --git a/core/log/logger.go b/log/logger.go similarity index 52% rename from core/log/logger.go rename to log/logger.go index a986a01fa762..dad40a943711 100644 --- a/core/log/logger.go +++ b/log/logger.go @@ -1,10 +1,10 @@ package log -// Service is the interface that wraps the basic logging methods. -type Service interface { +// Logger is the interface that wraps the basic logging methods. +type Logger interface { Debug(msg string, keyvals ...interface{}) Info(msg string, keyvals ...interface{}) Error(msg string, keyvals ...interface{}) - With(keyvals ...interface{}) Service + With(keyvals ...interface{}) Logger } diff --git a/log/noop_logger.go b/log/noop_logger.go new file mode 100644 index 000000000000..026eebe4915f --- /dev/null +++ b/log/noop_logger.go @@ -0,0 +1,17 @@ +package log + +var _ Logger = &NoOp{} + +type NoOp struct{} + +func NewNoOpLogger() *NoOp { + return &NoOp{} +} + +func (l NoOp) Debug(msg string, keyvals ...interface{}) {} +func (l NoOp) Info(msg string, keyvals ...interface{}) {} +func (l NoOp) Error(msg string, keyvals ...interface{}) {} + +func (l NoOp) With(i ...interface{}) Logger { + return l +} diff --git a/log/sonar-project.properties b/log/sonar-project.properties new file mode 100644 index 000000000000..c78e11c7ec09 --- /dev/null +++ b/log/sonar-project.properties @@ -0,0 +1,14 @@ +sonar.projectKey=cosmos-sdk-log +sonar.organization=cosmos + +sonar.projectName=Cosmos SDK - Log +sonar.project.monorepo.enabled=true + +sonar.sources=. +sonar.exclusions=**/*_test.go +sonar.tests=. +sonar.test.inclusions=**/*_test.go +sonar.go.coverage.reportPaths=coverage.out + +sonar.sourceEncoding=UTF-8 +sonar.scm.provider=git diff --git a/types/module/module_test.go b/types/module/module_test.go index 1989d703451e..1fa1d5ad3997 100644 --- a/types/module/module_test.go +++ b/types/module/module_test.go @@ -452,7 +452,6 @@ func TestCoreAPIManager_BeginBlock(t *testing.T) { mockAppModule1.EXPECT().BeginBlock(gomock.Any()).Times(1).Return(errors.New("some error")) _, err = mm.BeginBlock(sdk.Context{}, req) require.EqualError(t, err, "some error") - } func TestCoreAPIManager_EndBlock(t *testing.T) {