mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Unify logic of building raft-loggers for etcd.
1. We had the same code copied 3 times. 2. For no good reason the code was not reusing existing logger if this one is given.
This commit is contained in:
parent
44bd22307e
commit
1e7c1805d8
@ -461,17 +461,7 @@ func startNode(cfg config.ServerConfig, cl *membership.RaftCluster, ids []types.
|
||||
CheckQuorum: true,
|
||||
PreVote: cfg.PreVote,
|
||||
}
|
||||
if cfg.Logger != nil {
|
||||
// called after capnslog setting in "init" function
|
||||
if cfg.LoggerConfig != nil {
|
||||
c.Logger, err = NewRaftLogger(cfg.LoggerConfig)
|
||||
if err != nil {
|
||||
log.Fatalf("cannot create raft logger %v", err)
|
||||
}
|
||||
} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {
|
||||
c.Logger = NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)
|
||||
}
|
||||
}
|
||||
c.Logger, err = getRaftLogger(cfg)
|
||||
|
||||
if len(peers) == 0 {
|
||||
n = raft.RestartNode(c)
|
||||
@ -515,17 +505,10 @@ func restartNode(cfg config.ServerConfig, snapshot *raftpb.Snapshot) (types.ID,
|
||||
CheckQuorum: true,
|
||||
PreVote: cfg.PreVote,
|
||||
}
|
||||
if cfg.Logger != nil {
|
||||
// called after capnslog setting in "init" function
|
||||
var err error
|
||||
if cfg.LoggerConfig != nil {
|
||||
c.Logger, err = NewRaftLogger(cfg.LoggerConfig)
|
||||
if err != nil {
|
||||
log.Fatalf("cannot create raft logger %v", err)
|
||||
}
|
||||
} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {
|
||||
c.Logger = NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)
|
||||
}
|
||||
var err error
|
||||
c.Logger, err = getRaftLogger(cfg)
|
||||
if err != nil {
|
||||
log.Fatalf("cannot create raft logger %v", err)
|
||||
}
|
||||
|
||||
n := raft.RestartNode(c)
|
||||
@ -600,16 +583,10 @@ func restartAsStandaloneNode(cfg config.ServerConfig, snapshot *raftpb.Snapshot)
|
||||
CheckQuorum: true,
|
||||
PreVote: cfg.PreVote,
|
||||
}
|
||||
if cfg.Logger != nil {
|
||||
// called after capnslog setting in "init" function
|
||||
if cfg.LoggerConfig != nil {
|
||||
c.Logger, err = NewRaftLogger(cfg.LoggerConfig)
|
||||
if err != nil {
|
||||
log.Fatalf("cannot create raft logger %v", err)
|
||||
}
|
||||
} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {
|
||||
c.Logger = NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer)
|
||||
}
|
||||
|
||||
c.Logger, err = getRaftLogger(cfg)
|
||||
if err != nil {
|
||||
log.Fatalf("cannot create raft logger %v", err)
|
||||
}
|
||||
|
||||
n := raft.RestartNode(c)
|
||||
@ -617,6 +594,20 @@ func restartAsStandaloneNode(cfg config.ServerConfig, snapshot *raftpb.Snapshot)
|
||||
return id, cl, n, s, w
|
||||
}
|
||||
|
||||
func getRaftLogger(cfg config.ServerConfig) (raft.Logger, error) {
|
||||
if cfg.Logger != nil {
|
||||
// called after capnslog setting in "init" function
|
||||
if cfg.LoggerConfig != nil {
|
||||
return NewRaftLogger(cfg.LoggerConfig)
|
||||
} else if cfg.LoggerCore != nil && cfg.LoggerWriteSyncer != nil {
|
||||
return NewRaftLoggerFromZapCore(cfg.LoggerCore, cfg.LoggerWriteSyncer), nil
|
||||
} else {
|
||||
return NewRaftLoggerZap(cfg.Logger), nil
|
||||
}
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// getIDs returns an ordered set of IDs included in the given snapshot and
|
||||
// the entries. The given snapshot/entries can contain three kinds of
|
||||
// ID-related entry:
|
||||
|
Loading…
x
Reference in New Issue
Block a user