diff --git a/agents/agent.go b/agents/agent.go index 4e5cbf0..c2af832 100644 --- a/agents/agent.go +++ b/agents/agent.go @@ -71,7 +71,7 @@ func connectToWebSocket(agentName, agentId, agentIp, agentType, hostName string) for { conn, _, err = websocket.DefaultDialer.Dial(wsURL, nil) if err == nil { - log.Println("WeSocket connection established") + log.Println("WebSocket connection established") // logger.LogEntries = append(logger.LogEntries, fmt.Sprintf("%s websocket established", time.Now().Format(time.RFC3339))) return nil } diff --git a/src/logger/logger.go b/src/logger/logger.go index abf8a79..0dc207a 100644 --- a/src/logger/logger.go +++ b/src/logger/logger.go @@ -77,7 +77,8 @@ func (l *Logger) InsertLog(level LogLevel, message string) error { } insertQuery := `INSERT INTO logs (message, level) VALUES(?, ?)` - message = strings.ReplaceAll(message, `"`, `\"`) + /* String escaping is obsolete when logfmt will not be used */ + // message = strings.ReplaceAll(message, `"`, `\"`) _, err = tx.Exec(insertQuery, message, level) if err != nil { @@ -134,7 +135,6 @@ func (l *Logger) FetchLogs(limit int, levels []string) ([]LogEntry, error) { return logs, nil } - func (l * Logger) Close() error { return l.db.Close() } diff --git a/src/server/webapp/static/gontrol-stylesheet.css b/src/server/webapp/static/gontrol-stylesheet.css index 8766b5e..15f6068 100644 --- a/src/server/webapp/static/gontrol-stylesheet.css +++ b/src/server/webapp/static/gontrol-stylesheet.css @@ -19,8 +19,8 @@ /* background-color: #f8f9fa; /1* optional: subtle background for log readability *1/ */ } -.log-info, .log-warning, .log-error, .log-fatal, .log-debug{ font-family: "Lucida Console", Monaco, monospace; - font-size: 13px; +.log-info, .log-warning, .log-error, .log-fatal, .log-debug{ font-family: "Roboto Mono", "Consolas", "Courier New", monospace; + font-size: 14px; } .log-info { diff --git a/src/server/webapp/templates/partials/logs_partial.html b/src/server/webapp/templates/partials/logs_partial.html index 0995bec..22f4142 100644 --- a/src/server/webapp/templates/partials/logs_partial.html +++ b/src/server/webapp/templates/partials/logs_partial.html @@ -1,5 +1,5 @@ {{range .}}
- ts={{.Timestamp}} level={{.Level}} msg="{{.Message}}" + {{.Timestamp}} [{{.Level}}] {{.Message}}
{{end}} diff --git a/src/server/websocket/websocketServer.go b/src/server/websocket/websocketServer.go index 5a75b49..66583ae 100644 --- a/src/server/websocket/websocketServer.go +++ b/src/server/websocket/websocketServer.go @@ -65,7 +65,6 @@ func registerAgent(agentName, agentId, agentIp, agentType, addPort, hostname str resp, err := http.PostForm(registerURL, form) if err != nil { log.Printf("Error registering agent: %v", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Error registering agent: %v", err)) logService.Info(fmt.Sprintf("Error registering agent: %v", err)) return err } @@ -73,17 +72,14 @@ func registerAgent(agentName, agentId, agentIp, agentType, addPort, hostname str if resp.StatusCode == http.StatusCreated { log.Printf("Agent %s successfully registered.", agentName) - // logger.InsertLog(logger.Info, fmt.Sprintf("Agent %s successfully registered.", agentName)) logService.Info(fmt.Sprintf("Agent %s successfully registered.", agentName)) return nil } else if resp.StatusCode == http.StatusOK { log.Printf("Agent %s already registered.", agentName) - // logger.InsertLog(logger.Info, fmt.Sprintf("Agent %s already registered.", agentName)) logService.Info(fmt.Sprintf("Agent %s already registered.", agentName)) return nil } else { log.Printf("Failed to register agent, status: %v", resp.Status) - // logger.InsertLog(logger.Error, fmt.Sprintf("Failed to register agent, status: %v", resp.Status)) logService.Error(fmt.Sprintf("Failer to register agent, status: %v", resp.Status)) return err } @@ -96,7 +92,6 @@ func getAgentDetails(agentId string) (*api.Agent, error) { resp, err := http.Get(agentURL) if err != nil { log.Printf("Failed to make GET request: %s", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Failed to make GET request: %s", err)) logService.Error(fmt.Sprintf("Failed to make GET request: %s", err)) return nil, err } @@ -117,7 +112,6 @@ func getAgentDetails(agentId string) (*api.Agent, error) { agent.AgentID, err = strconv.Atoi(strings.TrimSpace(strings.TrimPrefix(text, "ID:"))) if err != nil { log.Printf("Converting string to integer failed in getAgentDetails(): %s", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Converting string to integer failed in getAgentDetails(): %s", err)) logService.Error(fmt.Sprintf("Converting string to integer failed in getAgentDetails(): %s", err)) } } else if strings.HasPrefix(text, "Name:") { @@ -144,7 +138,6 @@ func getAgentIds() ([]string, error) { resp, err := http.Get(idURL) if err != nil { log.Printf("Failed to make GET request: %s", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Failed to make GET request: %s", err)) logService.Error(fmt.Sprintf("Failed to make GET request: %s", err)) return nil, err } @@ -152,7 +145,6 @@ func getAgentIds() ([]string, error) { if resp.StatusCode != http.StatusOK { log.Printf("Unexpected status code: %d", resp.StatusCode) - // logger.InsertLog(logger.Info, fmt.Sprintf("Unexpected status code: %d", resp.StatusCode)) logService.Info(fmt.Sprintf("Unexpected status code: %d", resp.StatusCode)) return nil, nil } @@ -160,7 +152,6 @@ func getAgentIds() ([]string, error) { body, err := io.ReadAll(resp.Body) if err != nil { log.Printf("Failed to read response body: %s", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Failed to read response body: %s", err)) logService.Error(fmt.Sprintf("Failed to read response body: %s", err)) return nil, err } @@ -168,7 +159,6 @@ func getAgentIds() ([]string, error) { var agentIds []string if err := json.Unmarshal(body, &agentIds); err != nil { log.Printf("Failed to parse JSON response: %s", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Failed to parse JSON response: %s", err)) logService.Error(fmt.Sprintf("Failed to parse JSON response: %s", err)) return nil, err } @@ -181,7 +171,6 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request){ c, err := wsh.upgrader.Upgrade(w, r, nil) if err != nil { log.Printf("Error %s when upgrading connection to websocket", err) - // logger.InsertLog(logger.Error, fmt.Sprintf("Error %s when upgrading connection to websocket", err)) logService.Error(fmt.Sprintf("Error %s when upgrading connection to websocket", err)) return } @@ -215,14 +204,12 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request){ if agentName == "" || agentIP == "" { log.Printf("Missing agentName or IPv4Address in query parameters") - // logger.InsertLog(logger.Info, fmt.Sprintf("Missing agentName or IPv4Address in query parameters")) logService.Info(fmt.Sprintf("Missing agentName or IPv4Address in query parameters")) c.Close() return } log.Printf("Agent %s connected: %s (%s)", agentId, agentName, agentIP) - // logger.InsertLog(logger.Info, fmt.Sprintf("Agent %s connected: %s (%s)", agentId, agentName, agentIP)) logService.Info(fmt.Sprintf("Agent %s connected: %s (%s)", agentId, agentName, agentIP)) agentSocketsMutex.Lock() @@ -235,29 +222,9 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request){ agentSocketsMutex.Unlock() c.Close() log.Printf("Agent disconnected: %s (%s)", agentName, agentIP) - // logger.InsertLog(logger.Info, fmt.Sprintf("Agent disconnected: %s (%s)", agentName, agentIP)) logService.Info(fmt.Sprintf("Agent disconnected: %s (%s)", agentName, agentIP)) }() - // for { - // _, message, err := c.ReadMessage() - // if err != nil { - // log.Printf("Error reading from agent %s: %v", agentName, err) - // // logger.InsertLog(logger.Error, fmt.Sprintf("Error reading from agent %s: %v", agentName, err)) - // logService.Error(fmt.Sprintf("Error reading from agent %s: %v", agentName, err)) - // break - // } - // // log.Printf("Message from agent %s: %s", agentName, message) - // log.Printf("Message from agent %s received", agentName) - // // logger.InsertLog(logger.Debug, fmt.Sprintf("Message from agent %s: %s", agentName, message)) - // logService.Debug(fmt.Sprintf("Message from agent %s: %s", agentName, message)) - - // if ch, ok := responseChannels.Load(agentName); ok { - // responseChan := ch.(chan string) - // responseChan <- string(message) - // } - // } - for { _, message, err := c.ReadMessage() if err != nil { @@ -316,7 +283,6 @@ var executeCommand http.HandlerFunc = func(w http.ResponseWriter, r *http.Reques err := r.ParseForm() if err != nil { http.Error(w, "Invalid form data", http.StatusBadRequest) - // logger.InsertLog(logger.Info, "Invalid form data") logService.Info("Invalid form data") return } @@ -337,7 +303,6 @@ var executeCommand http.HandlerFunc = func(w http.ResponseWriter, r *http.Reques if len(agentNames) == 0 || command == "" { http.Error(w, "Missing agent or command", http.StatusBadRequest) - // logger.InsertLog(logger.Error, "Missing agent or command") logService.Error("Missing agent or command") return }