mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-21 07:46:04 +08:00
made use of string builder in logger
This commit is contained in:
parent
c6e00d93bd
commit
5cc6507a0c
|
@ -125,7 +125,7 @@ func getExtClientConf(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
gwnode, err := logic.GetNodeByID(client.IngressGatewayID)
|
||||
if err != nil {
|
||||
logger.Log(1, fmt.Sprintf("%s %s %s", r.Header.Get("user"), "Could not retrieve Ingress Gateway Node", client.IngressGatewayID))
|
||||
logger.Log(1, r.Header.Get("user"), "Could not retrieve Ingress Gateway Node", client.IngressGatewayID)
|
||||
returnErrorResponse(w, r, formatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
|
|
|
@ -4,44 +4,26 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
// TimeFormatDay - format of the day for timestamps
|
||||
const TimeFormatDay = "2006-01-02"
|
||||
|
||||
// TimeFormat - total time format
|
||||
const TimeFormat = "2006-01-02 15:04:05"
|
||||
|
||||
// == fields ==
|
||||
var currentLogs = make(map[string]string)
|
||||
|
||||
func makeString(message ...string) string {
|
||||
return strings.Join(message, " ")
|
||||
}
|
||||
|
||||
func getVerbose() int32 {
|
||||
level, err := strconv.Atoi(os.Getenv("VERBOSITY"))
|
||||
if err != nil || level < 0 {
|
||||
level = 0
|
||||
}
|
||||
if level > 3 {
|
||||
level = 3
|
||||
}
|
||||
return int32(level)
|
||||
}
|
||||
|
||||
// ResetLogs - reallocates logs map
|
||||
func ResetLogs() {
|
||||
currentLogs = make(map[string]string)
|
||||
}
|
||||
var mu sync.Mutex
|
||||
|
||||
// Log - handles adding logs
|
||||
func Log(verbosity int, message ...string) {
|
||||
var mu sync.Mutex
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
var currentTime = time.Now()
|
||||
var currentMessage = makeString(message...)
|
||||
var currentMessage = MakeString(" ", message...)
|
||||
if int32(verbosity) <= getVerbose() && getVerbose() >= 0 {
|
||||
fmt.Printf("[netmaker] %s %s \n", currentTime.Format(TimeFormat), currentMessage)
|
||||
}
|
||||
|
@ -74,9 +56,10 @@ func Dump() string {
|
|||
|
||||
for i := range dumpLogs {
|
||||
var currLog = dumpLogs[i]
|
||||
dumpString += fmt.Sprintf("[netmaker] %s %s \n", currLog.Value.Format(TimeFormat), currLog.Key)
|
||||
dumpString += MakeString(" ", "[netmaker]", currLog.Value.Format(TimeFormat), currLog.Key, "\n")
|
||||
}
|
||||
|
||||
resetLogs()
|
||||
return dumpString
|
||||
}
|
||||
|
||||
|
@ -84,13 +67,14 @@ func Dump() string {
|
|||
func DumpFile(filePath string) {
|
||||
f, err := os.OpenFile(filePath, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
fmt.Println(MakeString("could not open log file", filePath))
|
||||
return
|
||||
}
|
||||
|
||||
defer f.Close()
|
||||
|
||||
if _, err = f.WriteString(Dump()); err != nil {
|
||||
panic(err)
|
||||
fmt.Println("could not dump logs")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,6 +92,13 @@ func FatalLog(message ...string) {
|
|||
var mu sync.Mutex
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
fmt.Printf("[netmaker] Fatal: %s \n", makeString(message...))
|
||||
fmt.Printf("[netmaker] Fatal: %s \n", MakeString(" ", message...))
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
// == private ==
|
||||
|
||||
// resetLogs - reallocates logs map
|
||||
func resetLogs() {
|
||||
currentLogs = make(map[string]string)
|
||||
}
|
||||
|
|
30
logger/util.go
Normal file
30
logger/util.go
Normal file
|
@ -0,0 +1,30 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// MakeString - makes a string using golang string builder
|
||||
func MakeString(delimeter string, message ...string) string {
|
||||
var builder strings.Builder
|
||||
for i := 0; i < len(message); i++ {
|
||||
builder.WriteString(message[i])
|
||||
if delimeter != "" && i != len(message)-1 {
|
||||
builder.WriteString(delimeter)
|
||||
}
|
||||
}
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
func getVerbose() int32 {
|
||||
level, err := strconv.Atoi(os.Getenv("VERBOSITY"))
|
||||
if err != nil || level < 0 {
|
||||
level = 0
|
||||
}
|
||||
if level > 3 {
|
||||
level = 3
|
||||
}
|
||||
return int32(level)
|
||||
}
|
2
main.go
2
main.go
|
@ -184,7 +184,7 @@ func runGRPC(wg *sync.WaitGroup) {
|
|||
// Should we be using a context vice a waitgroup????????????
|
||||
func runMessageQueue(wg *sync.WaitGroup) {
|
||||
defer wg.Done()
|
||||
logger.Log(0, fmt.Sprintf("connecting to mq broker at %s", servercfg.GetMessageQueueEndpoint()))
|
||||
logger.Log(0, "connecting to mq broker at", servercfg.GetMessageQueueEndpoint())
|
||||
var client = mq.SetupMQTT(false) // Set up the subscription listener
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go mq.Keepalive(ctx)
|
||||
|
|
2
mq/mq.go
2
mq/mq.go
|
@ -129,7 +129,7 @@ func PublishPeerUpdate(newNode *models.Node) error {
|
|||
if err = publish(&node, fmt.Sprintf("peers/%s/%s", node.Network, node.ID), data); err != nil {
|
||||
logger.Log(1, "failed to publish peer update for node", node.ID)
|
||||
} else {
|
||||
logger.Log(1, fmt.Sprintf("sent peer update for node %s on network: %s ", node.Name, node.Network))
|
||||
logger.Log(1, "sent peer update for node", node.Name, "on network:", node.Network)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
|
|
@ -2,7 +2,6 @@ package serverctl
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"strings"
|
||||
|
@ -34,9 +33,7 @@ func InitServerNetclient() error {
|
|||
var currentServerNode, nodeErr = logic.GetNetworkServerLocal(network.NetID)
|
||||
if nodeErr == nil {
|
||||
if err = logic.ServerPull(¤tServerNode, true); err != nil {
|
||||
logger.Log(1, fmt.Sprintf("failed pull for network %s, on server node %s",
|
||||
network.NetID,
|
||||
currentServerNode.ID))
|
||||
logger.Log(1, "failed pull for network", network.NetID, ", on server node", currentServerNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue