logger - enter messages into the system log


   logger [options] [message]


   logger makes entries in the system log.

   When  the  optional  message  argument is present, it is written to the
   log.  If it is not present, and the -f option is not given either, then
   standard input is logged.


   -d, --udp
          Use datagrams (UDP) only.  By default the connection is tried to
          the syslog port defined in /etc/services, which is often 514 .

   -e, --skip-empty
          Ignore empty lines when processing  files.   An  empty  line  is
          defined  to  be  a  line  without  any  characters.  Thus a line
          consisting only of whitespace is  NOT  considered  empty.   Note
          that when the --prio-prefix option is specified, the priority is
          not part of the line.  Thus an empty line in this mode is a line
          that  does  not  have  any  characters after the priority prefix
          (e.g. <13>).

   -f, --file file
          Log the contents of the specified file.  This option  cannot  be
          combined with a command-line message.

   -i     Log the PID of the logger process with each line.

          Log  the  PID  of  the  logger process with each line.  When the
          optional argument id is specified, then it is  used  instead  of
          the  logger  command's  PID.   The  use  of  --id=$$  (PPID)  is
          recommended in scripts that send several messages.

          Note that the system logging infrastructure (for example systemd
          when  listening on /dev/log) may follow local socket credentials
          to overwrite the PID specified in  the  message.   logger(1)  is
          able  to  set those socket credentials to the given id, but only
          if you have root permissions and a process  with  the  specified
          PID  exists,  otherwise  the socket credentials are not modified
          and the problem is silently ignored.

          Write a systemd journal entry.  The entry is read from the given
          file,  when specified, otherwise from standard input.  Each line
          must begin with a  field  that  is  accepted  by  journald;  see
          systemd.journal-fields(7)  for details.  The use of a MESSAGE_ID
          field is generally a good idea,  as  it  makes  finding  entries
          easy.  Examples:

              logger --journald <<end
              MESSAGE=The dogs bark, but the caravan goes on.
              CARAVAN=goes on

              logger --journald=entry.txt

          Notice that --journald will ignore values of other options, such
          as priority.  If priority is needed it must be within input, and
          use  PRIORITY  field.   The  simple execution of journalctl will
          display MESSAGE field.  Use journalctl --output  json-pretty  to
          see rest of the fields.

   --msgid msgid
          Sets  the RFC5424 MSGID field.  Note that the space character is
          not permitted inside of msgid.  This  option  is  only  used  if
          --rfc5424  is  specified  as  well;  otherwise,  it  is silently

   -n, --server server
          Write to the specified remote syslog server instead  of  to  the
          system  log  socket.  Unless --udp or --tcp is specified, logger
          will first try to use UDP, but if this fails a TCP connection is

          Causes  everything to be done except for writing the log message
          to the system log, and removing the connection or  the  journal.
          This  option  can  be  used  together  with --stderr for testing

          Use the RFC 6587  octet  counting  framing  method  for  sending
          messages.   When  this  option  is  not  used, the default is no
          framing on UDP, and RFC6587 non-transparent framing (also  known
          as octet stuffing) on TCP.

   -P, --port port
          Use  the specified port.  When this option is not specified, the
          port defaults to syslog for  udp  and  to  syslog-conn  for  tcp

   -p, --priority priority
          Enter the message into the log with the specified priority.  The
          priority may be specified numerically  or  as  a  facility.level
          pair.    For   example,  -p  local3.info  logs  the  message  as
          informational  in  the  local3   facility.    The   default   is

          Look for a syslog prefix on every line read from standard input.
          This prefix is a  decimal  number  within  angle  brackets  that
          encodes  both  the  facility  and  the  level.   The  number  is
          constructed by multiplying the facility by 8 and then adding the
          level.    For  example,  local0.info,  meaning  facility=16  and
          level=6, becomes <134>.

          If the prefix contains no facility,  the  facility  defaults  to
          what  is specified by the -p option.  Similarly, if no prefix is
          provided, the line is logged using the priority given with -p.

          This option doesn't affect a command-line message.

          Use the RFC 3164 BSD syslog protocol to  submit  messages  to  a
          remote server.

          Use  the RFC 5424 syslog protocol to submit messages to a remote
          server.  The optional without argument can be a  comma-separated
          list of the following values: notq, notime, nohost.

          The  notq value suppresses the time-quality structured data from
          the  submitted  message.   The  time-quality  information  shows
          whether the local clock was synchronized plus the maximum number
          of microseconds the timestamp might be off.  The time quality is
          also   automatically  suppressed  when  --sd-id  timeQuality  is

          The notime value (which implies notq)  suppresses  the  complete
          sender   timestamp   that   is  in  ISO-8601  format,  including
          microseconds and timezone.

          The nohost value suppresses gethostname(2) information from  the
          message header.

          The  RFC  5424  protocol  has  been the default for logger since
          version 2.26.

   -s, --stderr
          Output the message to standard error as well as  to  the  system

   --sd-id name[@digits]
          Specifies  a  structured data element ID for an RFC 5424 message
          header.   The  option  has  to  be  used  before  --sd-param  to
          introduce a new element.  The number of structured data elements
          is unlimited.  The ID (name  plus  possibly  @digits)  is  case-
          sensitive  and  uniquely  identifies the type and purpose of the
          element.  The same ID  must  not  exist  more  than  once  in  a
          message.   The  @digits  part  is required for user-defined non-
          standardized IDs.

          logger currently generates the timeQuality standardized  element
          only.   RFC  5424  also  describes  the  elements  origin  (with
          parameters ip, enterpriseId, software and  swVersion)  and  meta
          (with  parameters  sequenceId,  sysUpTime  and language).  These
          element IDs may be specified without the @digits suffix.

   --sd-param name="value"
          Specifies a structured data element parameter, a name and  value
          pair.   The  option  has  to  be  used  after --sd-id and may be
          specified more than once for the same element.   Note  that  the
          quotation marks around value are required and must be escaped on
          the command line.

              logger --rfc5424 --sd-id zoo@123               \
                               --sd-param tiger=\"hungry\"   \
                               --sd-param zebra=\"running\"  \
                               --sd-id manager@123           \
                               --sd-param onMeeting=\"yes\"  \
                               "this is message"


            <13>1 2015-10-01T14:07:59.168662+02:00 ws kzak - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="218616"][zoo@123 tiger="hungry" zebra="running"][manager@123 onMeeting="yes"] this is message

   --size size
          Sets the maximum permitted message size to size.  The default is
          1KiB  characters,  which  is  the  limit  traditionally used and
          specified in RFC 3164.  With RFC 5424,  this  limit  has  become
          flexible.   A  good assumption is that RFC 5424 receivers can at
          least process 4KiB messages.

          Most receivers accept messages larger than 1KiB over any type of
          syslog  protocol.   As such, the --size option affects logger in
          all cases (not only when --rfc5424 was used).

          Note: the message-size limit limits the  overall  message  size,
          including the syslog header.  Header sizes vary depending on the
          selected options and the hostname length.  As a rule  of  thumb,
          headers  are  usually not longer than 50 to 80 characters.  When
          selecting a maximum message size, it is important to ensure that
          the  receiver  supports the max size as well, otherwise messages
          may become truncated.  Again, as a rule of thumb two to four KiB
          message  size  should  generally  be OK, whereas anything larger
          should be verified to work.

          Print errors about Unix socket connections.  The mode can  be  a
          value  of  off,  on, or auto.  When the mode is auto logger will
          detect if the init process is systemd, and if so  assumption  is
          made  /dev/log  can  be  used early at boot.  Other init systems
          lack of /dev/log will not cause errors that  is  identical  with
          messaging  using  openlog(3)  system call.  The logger(1) before
          version 2.26 used openlog, and hence was unable to detected loss
          of messages sent to Unix sockets.

          The  default  mode  is  auto.   When errors are not enabled lost
          messages are not communicated  and  will  result  to  successful
          return value of logger(1) invocation.

   -T, --tcp
          Use  stream  (TCP)  only.  By default the connection is tried to
          the syslog-conn port defined in /etc/services,  which  is  often

   -t, --tag tag
          Mark  every  line  to  be  logged  with  the specified tag.  The
          default tag is the name of the user logged in  on  the  terminal
          (or a user name based on effective user ID).

   -u, --socket socket
          Write  to  the  specified  socket  instead  of to the system log

   --     End the argument list.  This allows the message to start with  a
          hyphen (-).

   -V, --version
          Display version information and exit.

   -h, --help
          Display help text and exit.


   The logger utility exits 0 on success, and >0 if an error occurs.


   Valid facility names are:

          authpriv   for security information of a sensitive nature
          kern       cannot be generated from userspace process, automatically converted to user

          security   deprecated synonym for auth

   Valid level names are:

          panic     deprecated synonym for emerg
          error     deprecated synonym for err
          warn      deprecated synonym for warning

   For  the  priority  order and intended purposes of these facilities and
   levels, see syslog(3).


   logger System rebooted
   logger -p local0.notice -t HOSTIDM -f /dev/idmc
   logger -n loghost.example.com System rebooted


   syslog(3), journalctl(1), systemd.journal-fields(7)


   The logger command is  expected  to  be  IEEE  Std  1003.2  ("POSIX.2")


   The  logger  command is part of the util-linux package and is available
   from Linux Kernel  Archive  ftp://ftp.kernel.org/pub/linux/utils/util-

More Linux Commands

ps2pdf12(1) - Convert PostScript to PDF 1.2 (Acrobat 3-and-l
The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobes Acrobat(TM) Distiller(TM) product: they convert PostS

gethostbyaddr(3) - get network host entry - Linux man page
The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerr

WidthOfScreen(3) - screen information functions and macros
The BlackPixelOfScreen macro returns the black pixel value of the specified screen. The WhitePixelOfScreen macro returns the white pixel value of the specified

XFontStruct(3) - load or unload fonts and font metric struct
The XLoadFont function loads the specified font and returns its associated font ID. If the font name is not in the Host Portable Character Encoding, the result

glEdgeFlagv(3gl) - flag edges as either boundary or nonbound
Each vertex of a polygon, separate triangle, or separate quadrilateral specified between a glBegin/glEnd pair is marked as the start of either a boundary or non

systemd-rfkill(8) Load and save the RF kill switch state at
systemd-rfkill@.service is a service that restores the RF kill switch state at early boot and saves it at shutdown. On disk, the RF kill switch state is stored

gethostbyname2_r(3) - get network host entry (Man Page).....
The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerr

assert(3) - abort the program if assertion is false.........
If the macro NDEBUG was defined at the moment &lt;assert.h&gt; was last included, the macro assert() generates no code, and hence does nothing at all. Otherwise, the

sane-dc240(5) - SANE backend for Kodak DC240 Digital Camera
The sane-dc240 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Kodak DC240 camera. THIS IS EXTREMELY ALPHA CODE! USE AT

XkbFreeControls(3) - Frees memory used by the ctrls member o
XkbFreeControls frees the specified components of the ctrls field in the xkb keyboard description and sets the corresponding structure component values to NULL

dup3(2) - duplicate a file descriptor - Linux manual page...
These system calls create a copy of the file descriptor oldfd. dup() uses the lowest-numbered unused descriptor for the new descriptor. dup2() makes newfd be th

DefaultColormapOfScreen(3) - screen information functions an
The BlackPixelOfScreen macro returns the black pixel value of the specified screen. The WhitePixelOfScreen macro returns the white pixel value of the specified

We can't live, work or learn in freedom unless the software we use is free.