feat(func): Write to journald
Function to write log entries to journald. Update writeLog steering function to use this new backend.
This commit is contained in:
@@ -136,6 +136,33 @@ translateLogLevelsToJournalD() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# $1: message, $2: level, $3: status, [$4: operation], [$5: code]
|
||||||
|
writeJournalDLog() {
|
||||||
|
# not enough information to generate a meaningful log message
|
||||||
|
if [ -z "$1" ] || [ $# -lt 3 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
J_TIMESTAMP="$(getTimeStamp)"
|
||||||
|
J_PID="$$"
|
||||||
|
J_PRIO="$(translateLogLevelsToJournalD "$2")"
|
||||||
|
J_STAT="$(uppercase "$3")"
|
||||||
|
|
||||||
|
logger --journald <<end
|
||||||
|
SYSLOG_TIMESTAMP=${J_TIMESTAMP}
|
||||||
|
SYSLOG_FACILITY=3
|
||||||
|
SYSLOG_IDENTIFIER=${LOG_PROGRAM_NAME}
|
||||||
|
SYSLOG_PID=${J_PID}
|
||||||
|
PRIORITY=${J_PRIO}
|
||||||
|
STATUS=${J_STAT}
|
||||||
|
MESSAGE=$1
|
||||||
|
OPERATION=${4:-UNSPECIFIED}
|
||||||
|
ERRNO=${5:-0}
|
||||||
|
end
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
# $1: message, $2: level, $3: status, [$4: operation], [$5: code]
|
# $1: message, $2: level, $3: status, [$4: operation], [$5: code]
|
||||||
writeJsonLog() {
|
writeJsonLog() {
|
||||||
# not enough information to generate a meaningful log message
|
# not enough information to generate a meaningful log message
|
||||||
@@ -180,7 +207,7 @@ writeLog() {
|
|||||||
PT_LOG_LEVEL="$(standardizeLogLevels "$2")"
|
PT_LOG_LEVEL="$(standardizeLogLevels "$2")"
|
||||||
([ "$logDebug" -eq 0 ] && [ "$PT_LOG_LEVEL" = "DEBUG" ]) && return
|
([ "$logDebug" -eq 0 ] && [ "$PT_LOG_LEVEL" = "DEBUG" ]) && return
|
||||||
|
|
||||||
([ "$logToJournal" -eq 1 ]) && return # TODO: replace this with function when implemented
|
([ "$logToJournal" -eq 1 ]) && writeJournalDLog "$@"
|
||||||
([ "$useJsonLogFmt" -eq 1 ]) && writeJsonLog "$@"
|
([ "$useJsonLogFmt" -eq 1 ]) && writeJsonLog "$@"
|
||||||
([ "$useSyslogLogFmt" -eq 1 ]) && writePlainTextLog "$@"
|
([ "$useSyslogLogFmt" -eq 1 ]) && writePlainTextLog "$@"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user