Skip to content

Commit

Permalink
fix: log configuration (#87)
Browse files Browse the repository at this point in the history
fix: solve the problem that the log configuration does not take effect

Signed-off-by: wenchao <[email protected]>
  • Loading branch information
wenchaopeng authored and gythialy committed Jan 15, 2019
1 parent 7d6e824 commit 96cc594
Show file tree
Hide file tree
Showing 40 changed files with 306 additions and 272 deletions.
5 changes: 1 addition & 4 deletions cmd/commands/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import (

"github.com/qlcchain/go-qlc/chain"
"github.com/qlcchain/go-qlc/common"
"github.com/qlcchain/go-qlc/log"

"github.com/spf13/cobra"
)

Expand All @@ -20,7 +18,6 @@ var (
cfgPath string
ctx *chain.QlcContext
services []common.Service
logger = log.NewLogger("cli")
)

// Execute adds all child commands to the root command and sets flags appropriately.
Expand Down Expand Up @@ -60,7 +57,7 @@ func start() error {
} else {
addr, err = types.HexToAddress(account)
if err != nil {
logger.Fatal(err)
fmt.Println(err)
}
}
err = runNode(addr, pwd, cfg)
Expand Down
31 changes: 16 additions & 15 deletions cmd/commands/send.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package commands

import (
"errors"
"fmt"

"github.com/json-iterator/go"
"github.com/qlcchain/go-qlc/common/types"
Expand Down Expand Up @@ -68,22 +69,22 @@ func init() {

func sendAction() error {
if from == "" || to == "" || amount == "" {
logger.Fatal("err transfer info")
fmt.Println("err transfer info")
return errors.New("err transfer info")
}
source, err := types.HexToAddress(from)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
t, err := types.HexToAddress(to)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
tk, err := types.NewHash(token)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}

Expand All @@ -98,12 +99,12 @@ func sendAction() error {
}
err = initNode(source, pwd, cfg)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
services, err = startNode()
if err != nil {
logger.Error(err)
fmt.Println(err)
}
send(source, t, tk, am, pwd)
cmn.TrapSignal(func() {
Expand All @@ -116,38 +117,38 @@ func send(from, to types.Address, token types.Hash, amount types.Balance, passwo
w := ctx.Wallet.Wallet
l := ctx.Ledger.Ledger
n := ctx.NetService
logger.Debug(from.String())
fmt.Println(from.String())
session := w.NewSession(from)

if b, err := session.VerifyPassword(password); b && err == nil {
a, _ := mock.BalanceToRaw(amount, "QLC")
sendBlock, err := session.GenerateSendBlock(from, token, to, a)
if err != nil {
logger.Fatal(err)
fmt.Println(err)
}

if r, err := l.Process(sendBlock); err != nil || r == ledger.Other {
logger.Debug(jsoniter.MarshalToString(&sendBlock))
logger.Error("process block error", err)
fmt.Println(jsoniter.MarshalToString(&sendBlock))
fmt.Println("process block error", err)
} else {
logger.Info("send block, ", sendBlock.GetHash())
fmt.Println("send block, ", sendBlock.GetHash())

meta, err := l.GetAccountMeta(from)
if err != nil {
logger.Error(err)
fmt.Println(err)
}
logger.Debug(jsoniter.MarshalToString(&meta))
fmt.Println(jsoniter.MarshalToString(&meta))
pushBlock := protos.PublishBlock{
Blk: sendBlock,
}
bytes, err := protos.PublishBlockToProto(&pushBlock)
if err != nil {
logger.Error(err)
fmt.Println(err)
} else {
n.Broadcast(p2p.PublishReq, bytes)
}
}
} else {
logger.Error("invalid password ", err, " valid: ", b)
fmt.Println("invalid password ", err, " valid: ", b)
}
}
30 changes: 16 additions & 14 deletions cmd/commands/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ import (
"fmt"
"reflect"

"github.com/qlcchain/go-qlc/log"

"github.com/json-iterator/go"
"github.com/qlcchain/go-qlc/chain"
"github.com/qlcchain/go-qlc/common"
"github.com/qlcchain/go-qlc/common/types"
"github.com/qlcchain/go-qlc/config"
"github.com/qlcchain/go-qlc/consensus"
"github.com/qlcchain/go-qlc/ledger"
"github.com/qlcchain/go-qlc/log"
"github.com/qlcchain/go-qlc/p2p"
"github.com/qlcchain/go-qlc/p2p/protos"
"github.com/qlcchain/go-qlc/rpc"
Expand All @@ -37,7 +38,7 @@ func stopNode(services []common.Service) {
for _, service := range services {
err := service.Stop()
if err != nil {
logger.Error(err)
fmt.Println(err)
}
}
}
Expand All @@ -49,10 +50,11 @@ func initNode(account types.Address, password string, cfg *config.Config) error
fmt.Println(err)
return err
}
logService := log.NewLogService(cfg)
logService.Init()
ctx.Ledger = ledger.NewLedgerService(cfg)
ctx.Wallet = wallet.NewWalletService(cfg)
ctx.NetService, err = p2p.NewQlcService(cfg)
logService := log.NewLogService(cfg)
if err != nil {
fmt.Println(err)
return err
Expand All @@ -74,10 +76,10 @@ func initNode(account types.Address, password string, cfg *config.Config) error
addr := a.Address()
if addr.ToHash() == b.Link {
balance, _ := mock.RawToBalance(b.Balance, "QLC")
logger.Debugf("receive block from [%s] to[%s] amount[%d]", b.Address.String(), addr.String(), balance)
fmt.Printf("receive block from [%s] to[%s] amount[%d]\n", b.Address.String(), addr.String(), balance)
err = receive(b, s, addr)
if err != nil {
logger.Debugf("err[%s] when generate receive block.", err)
fmt.Printf("err[%s] when generate receive block.\n", err)
}
}
}
Expand All @@ -87,7 +89,7 @@ func initNode(account types.Address, password string, cfg *config.Config) error
})
}

services = []common.Service{logService, ctx.NetService, ctx.DPosService, ctx.Ledger, ctx.Wallet, ctx.RPC}
services = []common.Service{ctx.NetService, ctx.DPosService, ctx.Ledger, ctx.Wallet, ctx.RPC}

return nil
}
Expand All @@ -102,7 +104,7 @@ func startNode() ([]common.Service, error) {
if err != nil {
return nil, err
}
logger.Debugf("%s start successful.", reflect.TypeOf(service))
fmt.Printf("%s start successful.\n", reflect.TypeOf(service))
}

return services, nil
Expand All @@ -116,26 +118,26 @@ func receive(sendBlock types.Block, session *wallet.Session, address types.Addre
if err != nil {
return err
}
logger.Debug(jsoniter.MarshalToString(&receiveBlock))
fmt.Println(jsoniter.MarshalToString(&receiveBlock))
if r, err := l.Process(receiveBlock); err != nil || r == ledger.Other {
logger.Debug(jsoniter.MarshalToString(&receiveBlock))
logger.Error("process block error", err)
fmt.Println(jsoniter.MarshalToString(&receiveBlock))
fmt.Println("process block error", err)
return err
} else {
logger.Info("receive block, ", receiveBlock.GetHash())
fmt.Println("receive block, ", receiveBlock.GetHash())

meta, err := l.GetAccountMeta(address)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
logger.Debug(jsoniter.MarshalToString(&meta))
fmt.Println(jsoniter.MarshalToString(&meta))
pushBlock := protos.PublishBlock{
Blk: receiveBlock,
}
bytes, err := protos.PublishBlockToProto(&pushBlock)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
} else {
n.Broadcast(p2p.PublishReq, bytes)
Expand Down
4 changes: 3 additions & 1 deletion cmd/commands/wallet_change_password.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
package commands

import (
"fmt"

"github.com/qlcchain/go-qlc/common/types"
"github.com/qlcchain/go-qlc/config"
"github.com/spf13/cobra"
Expand Down Expand Up @@ -67,7 +69,7 @@ func changePassword() error {
}
err = initNode(ac, pwd, cfg)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
w := ctx.Wallet.Wallet
Expand Down
4 changes: 3 additions & 1 deletion cmd/commands/wallet_remove.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
package commands

import (
"fmt"

"github.com/qlcchain/go-qlc/common/types"
"github.com/qlcchain/go-qlc/config"

Expand Down Expand Up @@ -65,7 +67,7 @@ func removeWallet() error {
}
err = initNode(ac, pwd, cfg)
if err != nil {
logger.Error(err)
fmt.Println(err)
return err
}
w := ctx.Wallet.Wallet
Expand Down
18 changes: 9 additions & 9 deletions consensus/active_transactions.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ func (act *ActiveTrx) start() {
for {
select {
case <-timer2.C:
logger.Info("begin check roots.")
act.dps.logger.Info("begin check roots.")
act.announceVotes()
case <-act.quitCh:
logger.Info("Stopped ActiveTrx Loop.")
act.dps.logger.Info("Stopped ActiveTrx Loop.")
return
default:
time.Sleep(100 * time.Millisecond)
Expand All @@ -54,46 +54,46 @@ func (act *ActiveTrx) addToRoots(block types.Block) bool {
if _, ok := act.roots[block.Root()]; !ok {
ele, err := NewElection(act.dps, block)
if err != nil {
logger.Infof("block :%s add to roots error", block.GetHash())
act.dps.logger.Infof("block :%s add to roots error", block.GetHash())
return false
}
act.roots[block.Root()] = ele
return true
} else {
logger.Infof("block :%s already exit in roots", block.GetHash())
act.dps.logger.Infof("block :%s already exit in roots", block.GetHash())
return false
}
}

func (act *ActiveTrx) announceVotes() {
for _, v := range act.roots {
if v.confirmed && v.announcements >= announcementmin-1 {
logger.Info("this block is already confirmed")
act.dps.logger.Info("this block is already confirmed")
act.dps.ns.MessageEvent().GetEvent("consensus").Notify(p2p.EventConfirmedBlock, v.status.winner)
act.inactive = append(act.inactive, v.vote.id)
} else {
accounts := act.dps.getAccounts()
for _, k := range accounts {
isrep := act.dps.isThisAccountRepresentation(k)
if isrep {
logger.Infof("send confirm ack for hash %s,previous hash is %s", v.status.winner.GetHash(), v.status.winner.Root())
act.dps.logger.Infof("send confirm ack for hash %s,previous hash is %s", v.status.winner.GetHash(), v.status.winner.Root())
act.dps.putRepresentativesToOnline(k)
va, err := act.dps.voteGenerate(v.status.winner, k)
if err != nil {
logger.Error("vote generate error")
act.dps.logger.Error("vote generate error")
continue
}
act.vote(va)
} else {
logger.Infof("send confirm req for hash %s,previous hash is %s", v.status.winner.GetHash(), v.status.winner.Root())
act.dps.logger.Infof("send confirm req for hash %s,previous hash is %s", v.status.winner.GetHash(), v.status.winner.Root())
err := act.dps.sendConfirmReq(v.status.winner)
if err != nil {
continue
}
}
}
if len(accounts) == 0 {
logger.Info("this is just a node,not a wallet")
act.dps.logger.Info("this is just a node,not a wallet")
act.dps.sendConfirmReq(v.status.winner)
}
v.announcements++
Expand Down
24 changes: 12 additions & 12 deletions consensus/block_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ func (bp *BlockProcessor) processBlocks() {
for {
select {
case <-bp.quitCh:
logger.Info("Stopped process blocks.")
bp.dp.logger.Info("Stopped process blocks.")
return
case block := <-bp.blocks:
result, _ := bp.dp.ledger.Process(block)
bp.processResult(result, block)
case <-timer.C:
logger.Info("begin Find Online Representatives.")
bp.dp.logger.Info("begin Find Online Representatives.")
bp.dp.findOnlineRepresentatives()
default:
time.Sleep(100 * time.Millisecond)
Expand All @@ -50,41 +50,41 @@ func (bp *BlockProcessor) processBlocks() {
func (bp *BlockProcessor) processResult(result ledger.ProcessResult, block types.Block) error {
switch result {
case ledger.Progress:
logger.Infof("Block %s basic info is correct,begin add it to roots", block.GetHash())
bp.dp.logger.Infof("Block %s basic info is correct,begin add it to roots", block.GetHash())
bp.dp.actrx.addToRoots(block)
bp.queueUnchecked(block.GetHash())
break
case ledger.BadSignature:
logger.Infof("Bad signature for: %s", block.GetHash())
bp.dp.logger.Infof("Bad signature for: %s", block.GetHash())
break
case ledger.BadWork:
logger.Infof("Bad work for: %s", block.GetHash())
bp.dp.logger.Infof("Bad work for: %s", block.GetHash())
break
case ledger.BalanceMismatch:
logger.Infof("Balance mismatch for: %s", block.GetHash())
bp.dp.logger.Infof("Balance mismatch for: %s", block.GetHash())
break
case ledger.Old:
logger.Infof("Old for: %s", block.GetHash())
bp.dp.logger.Infof("Old for: %s", block.GetHash())
break
case ledger.UnReceivable:
logger.Infof("UnReceivable for: %s", block.GetHash())
bp.dp.logger.Infof("UnReceivable for: %s", block.GetHash())
break
case ledger.Other:
logger.Infof("Unknow process result for: %s", block.GetHash())
bp.dp.logger.Infof("Unknow process result for: %s", block.GetHash())
break
case ledger.Fork:
logger.Infof("Fork for: %s", block.GetHash())
bp.dp.logger.Infof("Fork for: %s", block.GetHash())
bp.processFork(block)
break
case ledger.GapPrevious:
logger.Infof("Gap previous for: %s", block.GetHash())
bp.dp.logger.Infof("Gap previous for: %s", block.GetHash())
err := bp.dp.ledger.AddUncheckedBlock(block.Root(), block, types.UncheckedKindPrevious)
if err != nil {
return err
}
break
case ledger.GapSource:
logger.Infof("Gap source for: %s", block.GetHash())
bp.dp.logger.Infof("Gap source for: %s", block.GetHash())
err := bp.dp.ledger.AddUncheckedBlock(block.Root(), block, types.UncheckedKindLink)
if err != nil {
return err
Expand Down
Loading

0 comments on commit 96cc594

Please sign in to comment.