forked from cerc-io/laconicd-deprecated
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:
co-authored by
jongwhan lee
Jongwhan Lee
parent
ea3ec3b7c6
commit
d068f5b331
+13
-6
@@ -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,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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user