X-Git-Url: https://git.xandkar.net/?p=khatus.git;a=blobdiff_plain;f=src%2Fawk%2Flib%2Fmsg_in.awk;h=cda89e830a1acebd161cdb1546bd447c390553f4;hp=d1f62d6858b216ce77093e4899642c63e6ee82d3;hb=8482fea64a51f9a9b97895c974a88a986b42aa15;hpb=e103315c72597a9cc9fffaaff11e04b30d1c6416 diff --git a/src/awk/lib/msg_in.awk b/src/awk/lib/msg_in.awk index d1f62d6..cda89e8 100755 --- a/src/awk/lib/msg_in.awk +++ b/src/awk/lib/msg_in.awk @@ -1,4 +1,38 @@ BEGIN { - FS = Msg_fs ? Msg_fs : "|" - Kfs = Key_fs ? Key_fs : ":" + FS1 = "|" # Fiels separator, level 1 (record to fields) + FS2 = ":" # Fiels separator, level 2 (field to subfields) + + FS = FS1 + Kfs = FS2 +} + +function msg_in_parse(msg, line, fields, type) { + split(line, fields, FS1) + msg["node"] = fields[1] + msg["module"] = fields[2] + type = fields[3] + msg["type"] = type + + if (type == "data") { + msg["key"] = fields[4] + msg["val"] = str_tail(str_join(fields, 1, 4, FS1) FS1, line) + } else if (type == "error") { + msg["line"] = str_tail(str_join(fields, 1, 3, FS1) FS1, line) + } else if (type == "alert") { + msg["priority"] = fields[4] + msg["subject"] = fields[5] + msg["body"] = str_tail(str_join(fields, 1, 5, FS1) FS1, line) + } else if (type == "log") { + msg["location"] = fields[4] + msg["level"] = fields[5] + msg["msg"] = str_tail(str_join(fields, 1, 5, FS1) FS1, line) + } else if (type == "status_bar") { + msg["status_bar"] = str_tail(str_join(fields, 1, 3, FS1) FS1, line) + } else { + msg_out_log_error(\ + "msg_in_parse", + "Unexpected msg type: " type " in given input line: " line \ + ) + exit 1 + } }