changed style of logs so they can read more easily

This commit is contained in:
Stefan Etringer 2025-07-15 15:14:14 +00:00
parent 76d343e8ac
commit 3d57688c3e
5 changed files with 6 additions and 41 deletions

View File

@ -71,7 +71,7 @@ func connectToWebSocket(agentName, agentId, agentIp, agentType, hostName string)
for { for {
conn, _, err = websocket.DefaultDialer.Dial(wsURL, nil) conn, _, err = websocket.DefaultDialer.Dial(wsURL, nil)
if err == 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))) // logger.LogEntries = append(logger.LogEntries, fmt.Sprintf("%s websocket established", time.Now().Format(time.RFC3339)))
return nil return nil
} }

View File

@ -77,7 +77,8 @@ func (l *Logger) InsertLog(level LogLevel, message string) error {
} }
insertQuery := `INSERT INTO logs (message, level) VALUES(?, ?)` 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) _, err = tx.Exec(insertQuery, message, level)
if err != nil { if err != nil {
@ -134,7 +135,6 @@ func (l *Logger) FetchLogs(limit int, levels []string) ([]LogEntry, error) {
return logs, nil return logs, nil
} }
func (l * Logger) Close() error { func (l * Logger) Close() error {
return l.db.Close() return l.db.Close()
} }

View File

@ -19,8 +19,8 @@
/* background-color: #f8f9fa; /1* optional: subtle background for log readability *1/ */ /* 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; .log-info, .log-warning, .log-error, .log-fatal, .log-debug{ font-family: "Roboto Mono", "Consolas", "Courier New", monospace;
font-size: 13px; font-size: 14px;
} }
.log-info { .log-info {

View File

@ -1,5 +1,5 @@
{{range .}} {{range .}}
<div class="log-{{.Level}}"> <div class="log-{{.Level}}">
ts={{.Timestamp}} level={{.Level}} msg="{{.Message}}" {{.Timestamp}} [{{.Level}}] {{.Message}}
</div> </div>
{{end}} {{end}}

View File

@ -65,7 +65,6 @@ func registerAgent(agentName, agentId, agentIp, agentType, addPort, hostname str
resp, err := http.PostForm(registerURL, form) resp, err := http.PostForm(registerURL, form)
if err != nil { if err != nil {
log.Printf("Error registering agent: %v", err) 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)) logService.Info(fmt.Sprintf("Error registering agent: %v", err))
return err return err
} }
@ -73,17 +72,14 @@ func registerAgent(agentName, agentId, agentIp, agentType, addPort, hostname str
if resp.StatusCode == http.StatusCreated { if resp.StatusCode == http.StatusCreated {
log.Printf("Agent %s successfully registered.", agentName) 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)) logService.Info(fmt.Sprintf("Agent %s successfully registered.", agentName))
return nil return nil
} else if resp.StatusCode == http.StatusOK { } else if resp.StatusCode == http.StatusOK {
log.Printf("Agent %s already registered.", agentName) 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)) logService.Info(fmt.Sprintf("Agent %s already registered.", agentName))
return nil return nil
} else { } else {
log.Printf("Failed to register agent, status: %v", resp.Status) 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)) logService.Error(fmt.Sprintf("Failer to register agent, status: %v", resp.Status))
return err return err
} }
@ -96,7 +92,6 @@ func getAgentDetails(agentId string) (*api.Agent, error) {
resp, err := http.Get(agentURL) resp, err := http.Get(agentURL)
if err != nil { if err != nil {
log.Printf("Failed to make GET request: %s", err) 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)) logService.Error(fmt.Sprintf("Failed to make GET request: %s", err))
return nil, 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:"))) agent.AgentID, err = strconv.Atoi(strings.TrimSpace(strings.TrimPrefix(text, "ID:")))
if err != nil { if err != nil {
log.Printf("Converting string to integer failed in getAgentDetails(): %s", err) 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)) logService.Error(fmt.Sprintf("Converting string to integer failed in getAgentDetails(): %s", err))
} }
} else if strings.HasPrefix(text, "Name:") { } else if strings.HasPrefix(text, "Name:") {
@ -144,7 +138,6 @@ func getAgentIds() ([]string, error) {
resp, err := http.Get(idURL) resp, err := http.Get(idURL)
if err != nil { if err != nil {
log.Printf("Failed to make GET request: %s", err) 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)) logService.Error(fmt.Sprintf("Failed to make GET request: %s", err))
return nil, err return nil, err
} }
@ -152,7 +145,6 @@ func getAgentIds() ([]string, error) {
if resp.StatusCode != http.StatusOK { if resp.StatusCode != http.StatusOK {
log.Printf("Unexpected status code: %d", resp.StatusCode) 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)) logService.Info(fmt.Sprintf("Unexpected status code: %d", resp.StatusCode))
return nil, nil return nil, nil
} }
@ -160,7 +152,6 @@ func getAgentIds() ([]string, error) {
body, err := io.ReadAll(resp.Body) body, err := io.ReadAll(resp.Body)
if err != nil { if err != nil {
log.Printf("Failed to read response body: %s", err) 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)) logService.Error(fmt.Sprintf("Failed to read response body: %s", err))
return nil, err return nil, err
} }
@ -168,7 +159,6 @@ func getAgentIds() ([]string, error) {
var agentIds []string var agentIds []string
if err := json.Unmarshal(body, &agentIds); err != nil { if err := json.Unmarshal(body, &agentIds); err != nil {
log.Printf("Failed to parse JSON response: %s", err) 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)) logService.Error(fmt.Sprintf("Failed to parse JSON response: %s", err))
return nil, 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) c, err := wsh.upgrader.Upgrade(w, r, nil)
if err != nil { if err != nil {
log.Printf("Error %s when upgrading connection to websocket", err) 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)) logService.Error(fmt.Sprintf("Error %s when upgrading connection to websocket", err))
return return
} }
@ -215,14 +204,12 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request){
if agentName == "" || agentIP == "" { if agentName == "" || agentIP == "" {
log.Printf("Missing agentName or IPv4Address in query parameters") 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")) logService.Info(fmt.Sprintf("Missing agentName or IPv4Address in query parameters"))
c.Close() c.Close()
return return
} }
log.Printf("Agent %s connected: %s (%s)", agentId, agentName, agentIP) 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)) logService.Info(fmt.Sprintf("Agent %s connected: %s (%s)", agentId, agentName, agentIP))
agentSocketsMutex.Lock() agentSocketsMutex.Lock()
@ -235,29 +222,9 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request){
agentSocketsMutex.Unlock() agentSocketsMutex.Unlock()
c.Close() c.Close()
log.Printf("Agent disconnected: %s (%s)", agentName, agentIP) 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)) 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 { for {
_, message, err := c.ReadMessage() _, message, err := c.ReadMessage()
if err != nil { if err != nil {
@ -316,7 +283,6 @@ var executeCommand http.HandlerFunc = func(w http.ResponseWriter, r *http.Reques
err := r.ParseForm() err := r.ParseForm()
if err != nil { if err != nil {
http.Error(w, "Invalid form data", http.StatusBadRequest) http.Error(w, "Invalid form data", http.StatusBadRequest)
// logger.InsertLog(logger.Info, "Invalid form data")
logService.Info("Invalid form data") logService.Info("Invalid form data")
return return
} }
@ -337,7 +303,6 @@ var executeCommand http.HandlerFunc = func(w http.ResponseWriter, r *http.Reques
if len(agentNames) == 0 || command == "" { if len(agentNames) == 0 || command == "" {
http.Error(w, "Missing agent or command", http.StatusBadRequest) http.Error(w, "Missing agent or command", http.StatusBadRequest)
// logger.InsertLog(logger.Error, "Missing agent or command")
logService.Error("Missing agent or command") logService.Error("Missing agent or command")
return return
} }