server: logger handler (#343)

* Problem: verbose logs display with FATAL option (fix #320)
add my script

increase amount for metamask

add run

amount ok

hide log

show info

my logger

hook log

revive eth log

tidy up

use suplog

log replace ok

removed suplog

tidy up

tidy up

fix compile

remove sh

tidy up

tidy up

* logger handler

* fix

* fix eth log override (#371)

remove redundant log

tidy up

* log test

* c++

Co-authored-by: jongwhan lee <jonghwan@crypto.com>
Co-authored-by: Jongwhan Lee <51560997+leejw51crypto@users.noreply.github.com>
This commit is contained in:
Federico Kunze Küllmer
2021-08-19 16:55:13 +00:00
committed by GitHub
co-authored by jongwhan lee Jongwhan Lee
parent ea3ec3b7c6
commit d068f5b331
16 changed files with 213 additions and 69 deletions
+13 -6
View File
@@ -1,9 +1,10 @@
package evm
import (
"fmt"
"runtime/debug"
log "github.com/xlab/suplog"
tmlog "github.com/tendermint/tendermint/libs/log"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
@@ -14,7 +15,7 @@ import (
// NewHandler returns a handler for Ethermint type messages.
func NewHandler(server types.MsgServer) sdk.Handler {
return func(ctx sdk.Context, msg sdk.Msg) (result *sdk.Result, err error) {
defer Recover(&err)
defer Recover(ctx.Logger(), &err)
ctx = ctx.WithEventManager(sdk.NewEventManager())
@@ -31,15 +32,21 @@ func NewHandler(server types.MsgServer) sdk.Handler {
}
}
func Recover(err *error) {
func Recover(logger tmlog.Logger, err *error) {
if r := recover(); r != nil {
*err = sdkerrors.Wrapf(sdkerrors.ErrPanic, "%v", r)
if e, ok := r.(error); ok {
log.WithError(e).Errorln("evm msg handler panicked with an error")
log.Debugln(string(debug.Stack()))
logger.Error(
"message handler panicked",
"error", e,
"stack trace", string(debug.Stack()),
)
} else {
log.Errorln(r)
logger.Error(
"message handler panicked",
"recover", fmt.Sprintf("%v", r),
)
}
}
}
-3
View File
@@ -3,8 +3,6 @@ package types
import (
"fmt"
log "github.com/xlab/suplog"
"github.com/gogo/protobuf/proto"
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -19,7 +17,6 @@ var EmptyCodeHash = crypto.Keccak256(nil)
func DecodeTxResponse(in []byte) (*MsgEthereumTxResponse, error) {
var txMsgData sdk.TxMsgData
if err := proto.Unmarshal(in, &txMsgData); err != nil {
log.WithError(err).Errorln("failed to unmarshal TxMsgData")
return nil, err
}