diff --git a/Dockerfile-server b/Dockerfile-server index f4270d7..71508df 100644 --- a/Dockerfile-server +++ b/Dockerfile-server @@ -137,7 +137,7 @@ RUN chmod ug+x /usr/local/bin/runmqserver \ EXPOSE 1414 9157 9443 ENV MQ_OVERRIDE_DATA_PATH=/mnt/mqm/data MQ_OVERRIDE_INSTALLATION_NAME=Installation1 MQ_USER_NAME="mqm" PATH="${PATH}:/opt/mqm/bin" ENV MQ_GRACE_PERIOD=30 -ENV LANG=en_US.UTF-8 AMQ_DIAGNOSTIC_MSG_SEVERITY=1 AMQ_ADDITIONAL_JSON_LOG=1 LOG_FORMAT=basic +ENV LANG=en_US.UTF-8 AMQ_DIAGNOSTIC_MSG_SEVERITY=1 AMQ_ADDITIONAL_JSON_LOG=1 ENV MQ_LOGGING_CONSOLE_EXCLUDE_ID=AMQ5041I,AMQ5052I,AMQ5051I,AMQ5037I,AMQ5975I ENV WLP_LOGGING_MESSAGE_FORMAT=json # We can run as any UID diff --git a/cmd/runmqserver/logging.go b/cmd/runmqserver/logging.go index b499092..c0e0ab7 100644 --- a/cmd/runmqserver/logging.go +++ b/cmd/runmqserver/logging.go @@ -95,7 +95,16 @@ func formatBasic(obj map[string]interface{}) string { // Convert time zone information from some logs (e.g. Liberty) for consistency obj["ibm_datetime"] = strings.Replace(obj["ibm_datetime"].(string), "+0000", "Z", 1) - if obj["type"] != nil && (obj["type"] == "liberty_message" || obj["type"] == "liberty_trace") { + if obj["type"] == "liberty_message" { + 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"] threadID := "" srtModuleName := ""