goonの内部で以下のようなエラーが出力されていた。
ERROR: goon - goon.go:194 - pospome error
エラーメッセージの「pospome error」は以下のように自分が用意した error なので、
このエラーを返しているどこかで goon がエラーログを出力しているみたい。
PospomeError = errors.New("pospome error")
エラーログを監視対象にして特定の閾値を設定している場合、
goon内で出力されるログも考慮して閾値を設定する必要があるので、
このログを止めたいケースもありそうな気がする。
結論から言うと、
以下のように goon が持っているフラグを false にすればいい。
goon.LogErrors = false
https://github.com/xStrom/goon/blob/a3e1c6182761ea1bc1bf23224ddc501743c2c633/goon.go#L38
goon.go:194 は以下
https://github.com/xStrom/goon/blob/a3e1c6182761ea1bc1bf23224ddc501743c2c633/goon.go#L200
ここで出力している error は以下から来ていて、
トランザクション内でエラーになった場合にエラーを出力している。
https://github.com/xStrom/goon/blob/a3e1c6182761ea1bc1bf23224ddc501743c2c633/goon.go#L169
今回は以下のようにトランザクション内で error を返していたので、
これが引っかかったみたい。
err := goon.RunInTransaction(ctx, func(ctx context.Context) error { if xxx { return PospomeError } return nil }, nil)
で、具体的にエラーを出力しているのは以下。
「if !LogErrors」を見れば分かる通り、
LogErrors を false にすることでログの出力を止めることができる。
https://github.com/xStrom/goon/blob/a3e1c6182761ea1bc1bf23224ddc501743c2c633/goon.go#L96-L106