Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the command line of setting log level #109

Merged
merged 1 commit into from
Jun 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions api/client/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ type IMessager interface {
ResponseEvent(ctx context.Context, resp *gatewayTypes.ResponseEvent) error //perm:write
ListenWalletEvent(ctx context.Context, wrp *walletevent.WalletRegisterPolicy) (chan *gatewayTypes.RequestEvent, error) //perm:write
SupportNewAccount(ctx context.Context, channelId string, account string) error //perm:write

SetLogLevel(ctx context.Context, level string) error //perm:admin
}

var _ IMessager = (*Message)(nil)
Expand Down Expand Up @@ -113,6 +115,8 @@ type Message struct {
ResponseEvent func(ctx context.Context, resp *gatewayTypes.ResponseEvent) error
ListenWalletEvent func(ctx context.Context, wrp *walletevent.WalletRegisterPolicy) (chan *gatewayTypes.RequestEvent, error)
SupportNewAccount func(ctx context.Context, channelId string, account string) error

SetLogLevel func(ctx context.Context, level string) error
}
}

Expand Down Expand Up @@ -291,3 +295,9 @@ func (message *Message) ListenWalletEvent(ctx context.Context, wrp *walletevent.
func (message *Message) SupportNewAccount(ctx context.Context, channelId string, account string) error {
return message.Internal.SupportNewAccount(ctx, channelId, account)
}

/////// log ///////

func (message *Message) SetLogLevel(ctx context.Context, level string) error {
return message.Internal.SetLogLevel(ctx, level)
}
1 change: 1 addition & 0 deletions api/controller/auth_map.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ var AuthMap = map[string]string{
"DeleteAddress": "admin",
"SetFeeParams": "admin",
"WalletHas": "read",
"SetLogLevel": "admin",
}
6 changes: 2 additions & 4 deletions api/controller/controller.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package controller

import (
"github.com/sirupsen/logrus"
)
import "github.com/filecoin-project/venus-messager/log"

type BaseController struct {
Logger *logrus.Logger
Logger *log.Logger
}
6 changes: 3 additions & 3 deletions api/controller/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"strconv"

"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
"golang.org/x/xerrors"

"github.com/filecoin-project/venus-messager/log"
"github.com/filecoin-project/venus-messager/service"
"github.com/filecoin-project/venus-messager/types"
)
Expand All @@ -37,7 +37,7 @@ const (

var errorInterface = reflect.TypeOf((*error)(nil)).Elem()

func SetupController(router *gin.Engine, sMap service.ServiceMap, log *logrus.Logger) error {
func SetupController(router *gin.Engine, sMap service.ServiceMap, log *log.Logger) error {
v1 := router.Group("rpc/v0")
var ts []reflect.Type
ts = append(ts, reflect.TypeOf(Message{}), reflect.TypeOf(Address{}), reflect.TypeOf(SharedParamsCtrl{}),
Expand All @@ -56,7 +56,7 @@ type JsonRpcResponse struct {
Error *RespError `json:"error,omitempty"`
}

func registerController(v1 *gin.RouterGroup, sMap service.ServiceMap, log *logrus.Logger, controllers []reflect.Type) error {
func registerController(v1 *gin.RouterGroup, sMap service.ServiceMap, log *log.Logger, controllers []reflect.Type) error {
for i := range controllers {
controllerT := controllers[i]
methodNumber := controllerT.NumMethod()
Expand Down
9 changes: 5 additions & 4 deletions api/jwt/jwt_middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,19 @@ import (
"github.com/filecoin-project/venus-auth/core"
"github.com/filecoin-project/venus-auth/util"
"github.com/ipfs-force-community/venus-gateway/types"
"github.com/sirupsen/logrus"

"github.com/filecoin-project/venus-messager/log"
)

type AuthMux struct {
jwtClient IJwtClient
log *logrus.Logger
log *log.Logger
mux *http.ServeMux
trustHandle map[string]http.Handler
}

func NewAuthMux(jwtClient IJwtClient, log *logrus.Logger, mux *http.ServeMux) *AuthMux {
return &AuthMux{jwtClient: jwtClient, log: log, mux: mux, trustHandle: map[string]http.Handler{}}
func NewAuthMux(jwtClient IJwtClient, logger *log.Logger, mux *http.ServeMux) *AuthMux {
return &AuthMux{jwtClient: jwtClient, log: logger, mux: mux, trustHandle: map[string]http.Handler{}}
}

func (authMux *AuthMux) ServeHTTP(w http.ResponseWriter, r *http.Request) {
Expand Down
7 changes: 5 additions & 2 deletions api/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ import (

"github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/venus-auth/core"
"github.com/sirupsen/logrus"
"go.uber.org/fx"
"golang.org/x/xerrors"

"github.com/filecoin-project/venus-messager/api/client"
"github.com/filecoin-project/venus-messager/api/controller"
"github.com/filecoin-project/venus-messager/api/jwt"
"github.com/filecoin-project/venus-messager/gateway"
"github.com/filecoin-project/venus-messager/log"
"github.com/filecoin-project/venus-messager/service"
)

func RunAPI(lc fx.Lifecycle, jwtClient jwt.IJwtClient, lst net.Listener, log *logrus.Logger, msgImp *MessageImp) error {
func RunAPI(lc fx.Lifecycle, jwtClient jwt.IJwtClient, lst net.Listener, log *log.Logger, msgImp *MessageImp) error {
var msgAPI client.Message
PermissionedProxy(controller.AuthMap, msgImp, &msgAPI.Internal)

Expand Down Expand Up @@ -59,6 +59,7 @@ type ImplParams struct {
NodeService *service.NodeService
SharedParamsService *service.SharedParamsService
GatewayService *gateway.GatewayService `optional:"true"`
Logger *log.Logger
}

type MessageImp struct {
Expand All @@ -67,6 +68,7 @@ type MessageImp struct {
*service.NodeService
*service.SharedParamsService
*gateway.GatewayService
*log.Logger
}

var _ client.IMessager = (*MessageImp)(nil)
Expand All @@ -78,6 +80,7 @@ func NewMessageImp(implParams ImplParams) *MessageImp {
NodeService: implParams.NodeService,
SharedParamsService: implParams.SharedParamsService,
GatewayService: implParams.GatewayService,
Logger: implParams.Logger,
}
}

Expand Down
37 changes: 37 additions & 0 deletions cli/log.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package cli

import (
"github.com/urfave/cli/v2"
"golang.org/x/xerrors"
)

var LogCmds = &cli.Command{
Name: "log",
Usage: "log commands",
Subcommands: []*cli.Command{
setLevelCmd,
},
}

var setLevelCmd = &cli.Command{
Name: "set-level",
Usage: "set log level, eg. trace,debug,info,warn|warning,error,fatal,panic",
ArgsUsage: "level",
Action: func(ctx *cli.Context) error {
client, closer, err := getAPI(ctx)
if err != nil {
return err
}
defer closer()

if ctx.NArg() == 0 {
return xerrors.New("must has level argument")
}

err = client.SetLogLevel(ctx.Context, ctx.Args().Get(0))
if err != nil {
return err
}
return nil
},
}
34 changes: 27 additions & 7 deletions log/log.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package log

import (
"context"
"fmt"
"math"
"net/http"
Expand All @@ -14,24 +15,43 @@ import (
"github.com/filecoin-project/venus-messager/config"
)

func SetLogger(logCfg *config.LogConfig) (*logrus.Logger, error) {
type Logger struct {
*logrus.Logger
}

func New() *Logger {
return &Logger{logrus.New()}
}

func SetLogger(logCfg *config.LogConfig) (*Logger, error) {
log := logrus.New()
level, err := logrus.ParseLevel(logCfg.Level)
if err != nil {
return nil, err
}
log.SetFormatter(&logrus.TextFormatter{
ForceColors: true,
FullTimestamp: true,
})
log.SetLevel(level)
logger := &Logger{log}
err := logger.SetLogLevel(context.Background(), logCfg.Level)
if err != nil {
return nil, err
}

file, err := os.OpenFile(logCfg.Path, os.O_CREATE|os.O_WRONLY, 0666)
if err == nil {
logrus.SetOutput(file)
} else {
return nil, xerrors.Errorf("open log file fail")
}
return log, nil
return logger, nil
}

func (logger *Logger) SetLogLevel(ctx context.Context, levelStr string) error {
level, err := logrus.ParseLevel(levelStr)
if err != nil {
return err
}
logger.SetLevel(level)

return nil
}

// 2016-09-27 09:38:21.541541811 +0200 CEST
Expand Down
4 changes: 2 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
ma "github.com/multiformats/go-multiaddr"
manet "github.com/multiformats/go-multiaddr/net"

"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
"go.uber.org/fx"
"golang.org/x/xerrors"
Expand Down Expand Up @@ -42,6 +41,7 @@ func main() {
ccli.AddrCmds,
ccli.SharedParamsCmds,
ccli.NodeCmds,
ccli.LogCmds,
runCmd,
},
}
Expand Down Expand Up @@ -282,7 +282,7 @@ func updateFlag(cfg *config.Config, ctx *cli.Context) error {
}

type fxLogger struct {
log *logrus.Logger
log *log.Logger
}

func (l fxLogger) Printf(str string, args ...interface{}) {
Expand Down
2 changes: 1 addition & 1 deletion messager.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
backTime = 86400

[node]
url = "/ip4/8.130.166.31/tcp/1234"
url = "/ip4/8.130.165.167/tcp/1234"
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoidGVzdG1pbmVyIiwicGVybSI6ImFkbWluIiwiZXh0IjoiIn0.oakIfSg1Iiv1T2F1BtH1bsb_1GeXWuirdPSjvE5wQLs"

[wallet]
Expand Down
9 changes: 4 additions & 5 deletions service/address_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@ package service
import (
"context"

"github.com/filecoin-project/go-state-types/big"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/big"
venusTypes "github.com/filecoin-project/venus/pkg/types"
"github.com/sirupsen/logrus"
"golang.org/x/xerrors"

"github.com/filecoin-project/venus-messager/gateway"
"github.com/filecoin-project/venus-messager/log"
"github.com/filecoin-project/venus-messager/models/repo"
"github.com/filecoin-project/venus-messager/types"
)
Expand All @@ -19,13 +18,13 @@ var errAddressNotExists = xerrors.New("address not exists")

type AddressService struct {
repo repo.Repo
log *logrus.Logger
log *log.Logger

sps *SharedParamsService
walletClient *gateway.IWalletCli
}

func NewAddressService(repo repo.Repo, logger *logrus.Logger, sps *SharedParamsService, walletClient *gateway.IWalletCli) *AddressService {
func NewAddressService(repo repo.Repo, logger *log.Logger, sps *SharedParamsService, walletClient *gateway.IWalletCli) *AddressService {
addressService := &AddressService{
repo: repo,
log: logger,
Expand Down
7 changes: 4 additions & 3 deletions service/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@ package service
import (
"context"

"golang.org/x/xerrors"

"github.com/filecoin-project/venus-messager/log"
"github.com/filecoin-project/venus/pkg/chain"
"github.com/filecoin-project/venus/pkg/types"
"github.com/sirupsen/logrus"
"golang.org/x/xerrors"
)

type NodeEvents struct {
client *NodeClient
log *logrus.Logger
log *log.Logger
msgService *MessageService
}

Expand Down
18 changes: 7 additions & 11 deletions service/message_selector.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,18 @@ import (
"sync"
"time"

"modernc.org/mathutil"

"github.com/filecoin-project/venus-messager/gateway"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/venus-wallet/core"

"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"

"github.com/filecoin-project/venus-wallet/core"
"github.com/filecoin-project/venus/pkg/crypto"
venusTypes "github.com/filecoin-project/venus/pkg/types"
"github.com/sirupsen/logrus"
"golang.org/x/xerrors"
"modernc.org/mathutil"

"github.com/filecoin-project/venus-messager/config"
"github.com/filecoin-project/venus-messager/gateway"
"github.com/filecoin-project/venus-messager/log"
"github.com/filecoin-project/venus-messager/models/repo"
"github.com/filecoin-project/venus-messager/types"
)
Expand All @@ -33,7 +29,7 @@ const (

type MessageSelector struct {
repo repo.Repo
log *logrus.Logger
log *log.Logger
cfg *config.MessageServiceConfig
nodeClient *NodeClient
addressService *AddressService
Expand All @@ -55,14 +51,14 @@ type msgErrInfo struct {
}

func NewMessageSelector(repo repo.Repo,
log *logrus.Logger,
logger *log.Logger,
cfg *config.MessageServiceConfig,
nodeClient *NodeClient,
addressService *AddressService,
sps *SharedParamsService,
walletClient *gateway.IWalletCli) *MessageSelector {
return &MessageSelector{repo: repo,
log: log,
log: logger,
cfg: cfg,
nodeClient: nodeClient,
addressService: addressService,
Expand Down
Loading