use logger instead of stderr since in daemon mode we cannot access std outputs
This commit is contained in:
parent
ddb0c24977
commit
451b73b0f2
1 changed files with 16 additions and 14 deletions
30
main.go
30
main.go
|
|
@ -115,6 +115,8 @@ func bootstrapNode() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var log = logging.MustGetLogger("main")
|
||||||
|
|
||||||
func nodeMain() {
|
func nodeMain() {
|
||||||
xmlBytes, err := os.ReadFile(configPath)
|
xmlBytes, err := os.ReadFile(configPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -124,7 +126,7 @@ func nodeMain() {
|
||||||
|
|
||||||
var config NodeConfig
|
var config NodeConfig
|
||||||
if err := xml.Unmarshal(xmlBytes, &config); err != nil {
|
if err := xml.Unmarshal(xmlBytes, &config); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to parse xml: %v\n", err)
|
log.Criticalf("failed to parse xml: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,30 +135,30 @@ func nodeMain() {
|
||||||
|
|
||||||
// check presense of keystore and id in config
|
// check presense of keystore and id in config
|
||||||
if config.KeyStore == "" {
|
if config.KeyStore == "" {
|
||||||
fmt.Fprintln(os.Stderr, "no keystore path specified!")
|
log.Critical("no keystore path specified!")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if config.ID == "" {
|
if config.ID == "" {
|
||||||
fmt.Fprintln(os.Stderr, "no ID in config! You need to --bootstrap")
|
log.Critical("no ID in config! You need to --bootstrap")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
nodeId, err := proto.ParseLuxID(config.ID)
|
nodeId, err := proto.ParseLuxID(config.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to parse node id: %v\n", err)
|
log.Criticalf("failed to parse node id: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// load keystore
|
// load keystore
|
||||||
ks := crypto.NewLuxKeyStore(config.KeyStore)
|
ks := crypto.NewLuxKeyStore(config.KeyStore)
|
||||||
if err := ks.Load(); err != nil {
|
if err := ks.Load(); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to laod keystore: %v\n", err)
|
log.Criticalf("failed to laod keystore: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
nodeKey, ok := ks.Get(nodeId)
|
nodeKey, ok := ks.Get(nodeId)
|
||||||
if !ok {
|
if !ok {
|
||||||
fmt.Fprintln(os.Stderr, "node key is not present in key store!")
|
log.Critical("node key is not present in key store!")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -166,13 +168,13 @@ func nodeMain() {
|
||||||
// add interior exterior channels
|
// add interior exterior channels
|
||||||
for _, interior := range config.Interior {
|
for _, interior := range config.Interior {
|
||||||
if err := node.AddInterior(interior); err != nil {
|
if err := node.AddInterior(interior); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to add interior %s: %v\n", interior, err)
|
log.Criticalf("failed to add interior %s: %v\n", interior, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, exterior := range config.Exterior {
|
for _, exterior := range config.Exterior {
|
||||||
if err := node.AddExterior(exterior); err != nil {
|
if err := node.AddExterior(exterior); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to add exterior %s: %v\n", exterior, err)
|
log.Criticalf("failed to add exterior %s: %v\n", exterior, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -181,12 +183,12 @@ func nodeMain() {
|
||||||
for _, neighbor := range config.Neighbors {
|
for _, neighbor := range config.Neighbors {
|
||||||
neighId, err := proto.ParseLuxID(neighbor.ID)
|
neighId, err := proto.ParseLuxID(neighbor.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to parse neigh id %s: %v\n", neighbor.ID, err)
|
log.Criticalf("failed to parse neigh id %s: %v\n", neighbor.ID, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := node.AddNeighbor(neighId, neighbor.Address); err != nil {
|
if err := node.AddNeighbor(neighId, neighbor.Address); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to add neighbor %s: %v\n", neighbor.ID, err)
|
log.Criticalf("failed to add neighbor %s: %v\n", neighbor.ID, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -201,18 +203,18 @@ func nodeMain() {
|
||||||
path := rpcPath[7:]
|
path := rpcPath[7:]
|
||||||
|
|
||||||
if err := sv.AddEndpoint("unix", path, rpc.LuxRpcTypeRoot); err != nil {
|
if err := sv.AddEndpoint("unix", path, rpc.LuxRpcTypeRoot); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to add root rpc %s: %v\n", path, err)
|
log.Criticalf("failed to add root rpc %s: %v\n", path, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
} else if strings.HasPrefix(rpcPath, "tcp://") {
|
} else if strings.HasPrefix(rpcPath, "tcp://") {
|
||||||
path := rpcPath[6:]
|
path := rpcPath[6:]
|
||||||
|
|
||||||
if err := sv.AddEndpoint("tcp", path, rpc.LuxRpcTypeQuery); err != nil {
|
if err := sv.AddEndpoint("tcp", path, rpc.LuxRpcTypeQuery); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to add query rpc %s: %v\n", path, err)
|
log.Criticalf("failed to add query rpc %s: %v\n", path, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintf(os.Stderr, "unknown rpc type %s. It must be either unix:// or tcp://\n", rpcPath)
|
log.Criticalf("unknown rpc type %s. It must be either unix:// or tcp://\n", rpcPath)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -231,7 +233,7 @@ func nodeMain() {
|
||||||
signaling:
|
signaling:
|
||||||
for {
|
for {
|
||||||
sig := <-sigs
|
sig := <-sigs
|
||||||
fmt.Println(sig)
|
log.Debug(sig)
|
||||||
switch sig {
|
switch sig {
|
||||||
case syscall.SIGINT:
|
case syscall.SIGINT:
|
||||||
break signaling
|
break signaling
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue