Testing something else I needed to call syslog(3) with LOG_CONS.  Diff 
below adds support to logger(1) for doing that.  Option choice is 
compatible with NetBSD.

ok?

Philip Guenther

Index: logger.1
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/logger/logger.1,v
retrieving revision 1.21
diff -u -p -r1.21 logger.1
--- logger.1    5 Jun 2013 17:35:12 -0000       1.21
+++ logger.1    16 Jun 2019 19:19:26 -0000
@@ -38,7 +38,7 @@
 .Nd make entries in the system log
 .Sh SYNOPSIS
 .Nm logger
-.Op Fl is
+.Op Fl cis
 .Op Fl f Ar file
 .Op Fl p Ar pri
 .Op Fl t Ar tag
@@ -52,6 +52,10 @@ system log module.
 .Pp
 The options are as follows:
 .Bl -tag -width "-f file"
+.It Fl c
+If unable to pass the message to
+.Xr syslogd 8 ,
+attempt to write the message to the console.
 .It Fl f Ar file
 Read from the specified
 .Ar file .
@@ -102,5 +106,5 @@ utility is compliant with the
 specification.
 .Pp
 The flags
-.Op Fl ifpst
+.Op Fl cfipst
 are extensions to that specification.
Index: logger.c
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/logger/logger.c,v
retrieving revision 1.17
diff -u -p -r1.17 logger.c
--- logger.c    28 Mar 2016 18:18:52 -0000      1.17
+++ logger.c    16 Jun 2019 19:18:33 -0000
@@ -61,8 +61,11 @@ main(int argc, char *argv[])
        tag = NULL;
        pri = LOG_NOTICE;
        logflags = 0;
-       while ((ch = getopt(argc, argv, "f:ip:st:")) != -1)
+       while ((ch = getopt(argc, argv, "cf:ip:st:")) != -1)
                switch(ch) {
+               case 'c':               /* log to console */
+                       logflags |= LOG_CONS;
+                       break;
                case 'f':               /* file to log */
                        if (freopen(optarg, "r", stdin) == NULL) {
                                (void)fprintf(stderr, "logger: %s: %s.\n",
@@ -180,6 +183,6 @@ void
 usage(void)
 {
        (void)fprintf(stderr,
-           "usage: logger [-is] [-f file] [-p pri] [-t tag] [message ...]\n");
+           "usage: logger [-cis] [-f file] [-p pri] [-t tag] [message ...]\n");
        exit(1);
 }

Reply via email to