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:
2026-07-25 00:45:18 -06:00
parent 45e5e17513
commit 1144156613
+28 -1
View File
@@ -136,6 +136,33 @@ translateLogLevelsToJournalD() {
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]
writeJsonLog() {
# not enough information to generate a meaningful log message
@@ -180,7 +207,7 @@ writeLog() {
PT_LOG_LEVEL="$(standardizeLogLevels "$2")"
([ "$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 "$@"
([ "$useSyslogLogFmt" -eq 1 ]) && writePlainTextLog "$@"
}