forked from boyska/circolog
33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
|
package data
|
||
|
|
||
|
import "gopkg.in/mcuadros/go-syslog.v2/format"
|
||
|
|
||
|
// Message is currently an alias for format.Logparts, but this is only temporary; sooner or later, a real struct will be used
|
||
|
// The advantage of having an explicit Message is to clear out what data we are sending to circolog "readers"
|
||
|
// This is not necessarily (and not in practice) the same structure that we receive from logging programs
|
||
|
type Message format.LogParts
|
||
|
|
||
|
// LogEntryToMessage converts messages received from writers to the format we promise to readers
|
||
|
func LogEntryToMessage(orig format.LogParts) Message {
|
||
|
m := Message{}
|
||
|
if orig["version"] == 1 { // RFC5424
|
||
|
m["prog"] = orig["app_name"]
|
||
|
m["client"] = orig["client"]
|
||
|
m["host"] = orig["hostname"]
|
||
|
m["proc_id"] = orig["proc_id"]
|
||
|
m["msg"] = orig["message"]
|
||
|
m["facility"] = orig["facility"]
|
||
|
m["time"] = orig["timestamp"]
|
||
|
m["sev"] = orig["severity"]
|
||
|
} else { //RFC3164
|
||
|
m["prog"] = orig["tag"]
|
||
|
m["client"] = orig["client"]
|
||
|
m["host"] = orig["hostname"]
|
||
|
m["msg"] = orig["content"]
|
||
|
m["sev"] = orig["severity"]
|
||
|
m["time"] = orig["timestamp"]
|
||
|
m["proc_id"] = "-"
|
||
|
}
|
||
|
return m
|
||
|
}
|