func NewMonitor(cfg *config.Config, db *gorm.DB) *monitor {
dbPath, err := makePath()
if err != nil {
- log.Fatal(err)
+ log.WithFields(log.Fields{"err": err}).Fatal("makePath")
}
nodeCfg := &vaporCfg.Config{
nodeCfg.ChainID = "mainnet"
privKey, err := signlib.NewPrivKey()
if err != nil {
- log.Fatal(err)
+ log.WithFields(log.Fields{"err": err}).Fatal("NewPrivKey")
}
chain, txPool, err := mockChainAndPool()
if err != nil {
- log.Fatal(err)
+ log.WithFields(log.Fields{"err": err}).Fatal("mockChainAndPool")
}
return &monitor{
for _, node := range m.cfg.Nodes {
seeds = append(seeds, fmt.Sprintf("%s:%d", node.IP, node.Port))
if err := m.upSertNode(&node); err != nil {
- log.Error(err)
+ log.WithFields(log.Fields{
+ "node": node,
+ "err": err,
+ }).Error("upSertNode")
}
}
m.nodeCfg.P2P.Seeds = strings.Join(seeds, ",")
if err := m.makeSwitch(); err != nil {
- log.Fatal(err)
+ log.WithFields(log.Fields{"err": err}).Fatal("makeSwitch")
}
m.dialCh <- struct{}{}
func (m *monitor) checkStatusRoutine() {
peers := peers.NewPeerSet(m.sw)
if err := m.prepareReactors(peers); err != nil {
- log.Fatal(err)
+ log.WithFields(log.Fields{"err": err}).Fatal("prepareReactors")
}
for range m.checkStatusCh {
peer.Start()
peers.AddPeer(peer)
}
- log.Infof("%d connected peers: %v", len(m.sw.GetPeers().List()), m.sw.GetPeers().List())
+ log.WithFields(log.Fields{
+ "num": len(m.sw.GetPeers().List()),
+ "peers": m.sw.GetPeers().List(),
+ }).Info("connected peers")
for _, peer := range m.sw.GetPeers().List() {
p := peers.GetPeer(peer.ID())
continue
}
- if err := p.SendStatus(m.chain.BestBlockHeader(), m.chain.LastIrreversibleHeader()); err != nil {
- log.Error(err)
+ if err := p.(m.chain.BestBlockHeader(), m.chain.LastIrreversibleHeader()); err != nil {
+ log.WithFields(log.Fields{
+ "peer": p,
+ "err": err,
+ }).Error("SendStatus")
peers.RemovePeer(p.ID())
}
}
publicKey := xPub.PublicKey().String()
connMap[publicKey] = true
if err := m.processConnectedPeer(publicKeyMap[publicKey], peer); err != nil {
- log.WithFields(log.Fields{"err": err}).Error("processConnectedPeer")
+ log.WithFields(log.Fields{
+ "peer publicKey": publicKey,
+ "err": err,
+ }).Error("processConnectedPeer")
}
}
}
if err := m.processOfflinePeer(ormNode); err != nil {
- log.WithFields(log.Fields{"err": err}).Error("processOfflinePeer")
+ log.WithFields(log.Fields{
+ "peer publicKey": ormNode.PublicKey,
+ "err": err,
+ }).Error("processOfflinePeer")
}
}
for _, peerInfo := range peerInfos {
dbTx := m.db.Begin()
if err := m.processPeerInfo(dbTx, peerInfo); err != nil {
- log.WithFields(log.Fields{"err": err}).Error("processPeerInfo")
+ log.WithFields(log.Fields{
+ "peerInfo": peerInfo,
+ "err": err,
+ }).Error("processPeerInfo")
dbTx.Rollback()
} else {
dbTx.Commit()