+++ /dev/null
-BEGIN {
- FS1 = "|" # Fiels separator, level 1 (record to fields)
- FS2 = ":" # Fiels separator, level 2 (field to subfields
-
- OFS = FS1
- Kfs = FS2
-}
-
-function msg_parse(msg, line, status, fields, type) {
- split(line, fields, FS1)
- msg["node"] = fields[1]
- msg["module"] = fields[2]
- type = fields[3]
- msg["type"] = type
-
- status = 1
- 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_parse",
- "Unexpected msg type: " type " in given input line: " line \
- )
- status = 0
- }
- return status
-}
-
-# -----------------------------------------------------------------------------
-# alert
-# -----------------------------------------------------------------------------
-function msg_out_alert_low(subject, body) {
- msg_out_alert("low", subject, body)
-}
-
-function msg_out_alert_med(subject, body) {
- msg_out_alert("med", subject, body)
-}
-
-function msg_out_alert_hi(subject, body) {
- msg_out_alert("hi", subject, body)
-}
-
-function msg_out_alert(priority, subject, body) {
- # priority : "low" | "med" | "hi"
- # subject : string without spaces
- # body : anything
- print(Node, Module, "alert", priority, subject, body)
-}
-
-# -----------------------------------------------------------------------------
-# log
-# -----------------------------------------------------------------------------
-function msg_out_log_info(location, msg) {
- msg_out_log("info", location, msg)
-}
-
-function msg_out_log_error(location, msg) {
- msg_out_log("error", location, msg)
-}
-
-function msg_out_log(level, location, msg) {
- print(Node, Module, "log", location, level, msg) > "/dev/stderr"
-}
-
-# -----------------------------------------------------------------------------
-# status_bar
-# -----------------------------------------------------------------------------
-function msg_out_status_bar(bar) {
- print(Node, Module, "status_bar", bar)
-}
-
-# -----------------------------------------------------------------------------
-# data
-# -----------------------------------------------------------------------------
-function msg_out_data(key, val) {
- print(Node, Module, "data", key, val)
-}