depot/third_party/nixpkgs/pkgs/applications/networking/msmtp/msmtpq-systemd-logging.patch

42 lines
1.3 KiB
Diff
Raw Normal View History

diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index bcb384e..dbaf1b5 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -92,6 +92,8 @@ if [ ! -v MSMTPQ_LOG ] ; then
fi
fi
[ -d "$(dirname "$MSMTPQ_LOG")" ] || mkdir -p "$(dirname "$MSMTPQ_LOG")"
+
+JOURNAL=@journal@
## ======================================================================================
## msmtpq can use the following environment variables :
@@ -144,6 +146,7 @@ on_exit() { # unlock the queue on exit if the lock was
## display msg to user, as well
##
log() {
+ local NAME=msmtpq
local ARG RC PFX
PFX="$('date' +'%Y %d %b %H:%M:%S')"
# time stamp prefix - "2008 13 Mar 03:59:45 "
@@ -161,10 +164,19 @@ log() {
done
fi
+ if [ "$JOURNAL" = "Y" ]; then
+ for ARG; do
+ [ -n "$ARG" ] &&
+ echo "$ARG" | systemd-cat -t "$NAME" -p info
+ done
+ fi
+
if [ -n "$RC" ] ; then # an error ; leave w/error return
[ -n "$LKD" ] && lock_queue -u # unlock here (if locked)
[ -n "$MSMTPQ_LOG" ] && \
echo " exit code = $RC" >> "$MSMTPQ_LOG" # logging ok ; send exit code to log
+ [ "$JOURNAL" = "Y" ] && \
+ echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg
exit "$RC" # exit w/return code
fi
}