summaryrefslogtreecommitdiff
path: root/pkgs/msmtp/msmtpq-systemd-logging.patch
blob: 55f386bb31906a01d52d0dcc8f7182801d972894 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index 28d0754..3eaac58 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -182,6 +182,8 @@ if [ -n "$MSMTPQ_LOG" ] ; then
   unset msmptq_log_dir
 fi
 
+JOURNAL=@journal@
+
 umask 077                            # set secure permissions on created directories and files
 
 declare -i CNT                       # a count of mail(s) currently in the queue
@@ -214,6 +216,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 "
@@ -233,10 +236,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
 }