2 Commits

Author SHA1 Message Date
asif 1144156613 feat(func): Write to journald
Function to write log entries to journald. Update writeLog steering function to use this new backend.
2026-07-25 00:45:18 -06:00
asif 45e5e17513 feat(func): Translate standardized log levels to journald 2026-07-25 00:42:06 -06:00
+51 -1
View File
@@ -113,6 +113,56 @@ standardizeLogLevels() {
esac
}
translateLogLevelsToJournalD() {
LEVEL_TO_TRANSLATE="$(standardizeLogLevels "$1")"
case "$LEVEL_TO_TRANSLATE" in
"CRIT")
echo 2
;;
"ERR")
echo 3
;;
"WARN")
echo 4
;;
"INFO")
echo 6
;;
"DEBUG")
echo 7
;;
*)
echo 6
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
@@ -157,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 "$@"
}