Multi-line messages squashed to one line in basic format

This commit is contained in:
arthur.barr@uk.ibm.com
2023-02-07 13:18:24 +00:00
committed by Arthur Barr
parent 98129eb660
commit 167ec03f04

View File

@@ -95,17 +95,10 @@ func formatBasic(obj map[string]interface{}) string {
} }
// Convert time zone information from some logs (e.g. Liberty) for consistency // Convert time zone information from some logs (e.g. Liberty) for consistency
obj["ibm_datetime"] = strings.Replace(obj["ibm_datetime"].(string), "+0000", "Z", 1) obj["ibm_datetime"] = strings.Replace(obj["ibm_datetime"].(string), "+0000", "Z", 1)
// Escape any new-line characters, so that we don't get multi-line messages messing up the output
obj["message"] = strings.ReplaceAll(obj["message"].(string), "\n", "\\n")
if obj["type"] == "liberty_message" { if obj["type"] != nil && (obj["type"] == "liberty_trace") {
message := obj["message"].(string)
if obj["ibm_messageId"] == nil {
// Liberty logs at least one message without a message ID, but which spans multiple lines.
// A missing message ID might imply more free-form text, so process the whitespace for better
// visibility
message = strings.ReplaceAll(strings.TrimSpace(message), "\n", "\n ")
}
return fmt.Sprintf("%s %s\n", obj["ibm_datetime"], message)
} else if obj["type"] != nil && (obj["type"] == "liberty_trace") {
timeStamp := obj["ibm_datetime"] timeStamp := obj["ibm_datetime"]
threadID := "" threadID := ""
srtModuleName := "" srtModuleName := ""