Skip to content

infrastructure/repository のスタックトレースが表示されない #77

@keitakn

Description

@keitakn

概要

https://github.com/nekochans/portfolio-backend/pull/76/files#r719481533 を参照。

再現手順

各APIで404エラーを発生させるRequestを送信する。

※ GET /members/{id} で存在しないIDを指定する等。

再現環境

ローカル環境

このバグによって引き起こされる問題

それほど問題はないがスタックトレースが切れているので、infrastructure/repository から返すエラーメッセージが汎用的なものだった場合、エラーのトレースがやりにくくなる可能性がある。

スクリーンショット、エラーメッセージ

infrastructure/repository/mysql_member_repository.go がスタックトレースに表示されていて欲しいがされない。

{
	"level": "ERROR",
	"time": "2021-09-30T14:27:01.715Z",
	"caller": "infrastructure/http_server.go:36",
	"message": "record not found in members: MemberRepository member not found: MemberUseCase member not found",
	"RequestId": "f7e27b17261e/1NIA2aTAyZ-000006",
	"error": "record not found in members: MemberRepository member not found: MemberUseCase member not found",
	"errorVerbose": "MemberUseCase member not found\ngithub.com/nekochans/portfolio-backend/usecase/memberusecase.init\n\t/go/app/usecase/memberusecase/usecase.go:10\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6498\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6475\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6475\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:238\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1581\nrecord not found in members: MemberRepository member not found\ngithub.com/nekochans/portfolio-backend/usecase/memberusecase.(*UseCase).FetchAllFromMysql\n\t/go/app/usecase/memberusecase/usecase.go:74\ngithub.com/nekochans/portfolio-backend/infrastructure.(*HttpServer).GetMembers\n\t/go/app/infrastructure/http_server.go:33\ngithub.com/nekochans/portfolio-backend/openapi.(*ServerInterfaceWrapper).GetMembers\n\t/go/app/openapi/server.gen.go:36\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi.(*ChainHandler).ServeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/chain.go:31\ngithub.com/go-chi/chi.(*Mux).routeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/mux.go:425\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.Timeout.func1.1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/timeout.go:45\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.Recoverer.func1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/recoverer.go:35\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/nekochans/portfolio-backend/infrastructure.Logger.func1.1\n\t/go/app/infrastructure/logger.go:29\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.RequestID.func1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/request_id.go:76\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi.(*Mux).ServeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/mux.go:82\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2878\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1929\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1581",
	"stackTrace": "github.com/nekochans/portfolio-backend/infrastructure.(*HttpServer).GetMembers\n\t/go/app/infrastructure/http_server.go:36\ngithub.com/nekochans/portfolio-backend/openapi.(*ServerInterfaceWrapper).GetMembers\n\t/go/app/openapi/server.gen.go:36\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi.(*ChainHandler).ServeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/chain.go:31\ngithub.com/go-chi/chi.(*Mux).routeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/mux.go:425\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.Timeout.func1.1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/timeout.go:45\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.Recoverer.func1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/recoverer.go:35\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/nekochans/portfolio-backend/infrastructure.Logger.func1.1\n\t/go/app/infrastructure/logger.go:29\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi/middleware.RequestID.func1\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/middleware/request_id.go:76\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2046\ngithub.com/go-chi/chi.(*Mux).ServeHTTP\n\t/go/pkg/mod/github.com/go-chi/[email protected]+incompatible/mux.go:82\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2878\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1929"
}

補足情報

今のままでもエラー発生箇所を特定する事は可能なので、優先度は低め。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions