Linuxのシェルでシステムログにメッセージを出力する!(logger)

Linuxのシェルでシステムログに、loggerコマンドを使用して、メッセージを出力します。

loggerコマンドのヘルプを表示する!

loggerコマンドのヘルプを表示して、使用方法を確認します。

$ logger --help

Usage:
 logger [options] [<message>]

Enter messages into the system log.

Options:
 -i                       log the logger command's PID
     --id[=<id>]          log the given <id>, or otherwise the PID
 -f, --file <file>        log the contents of this file
 -e, --skip-empty         do not log empty lines when processing files
     --no-act             do everything except the write the log
 -p, --priority <prio>    mark given message with this priority
     --octet-count        use rfc6587 octet counting
     --prio-prefix        look for a prefix on every line read from stdin
 -s, --stderr             output message to standard error as well
 -S, --size <size>        maximum size for a single message
 -t, --tag <tag>          mark every line with this tag
 -n, --server <name>      write to this remote syslog server
 -P, --port <port>        use this port for UDP or TCP connection
 -T, --tcp                use TCP only
 -d, --udp                use UDP only
     --rfc3164            use the obsolete BSD syslog protocol
     --rfc5424[=<snip>]   use the syslog protocol (the default for remote);
                            <snip> can be notime, or notq, and/or nohost
     --sd-id <id>         rfc5424 structured data ID
     --sd-param <data>    rfc5424 structured data name=value
     --msgid <msgid>      set rfc5424 message id field
 -u, --socket <socket>    write to this Unix socket
     --socket-errors[=<on|off|auto>]
                          print connection errors when using Unix sockets
     --journald[=<file>]  write journald entry

 -h, --help               display this help
 -V, --version            display version

For more details see logger(1).

/var/log/messagesにログ出力する!

/var/log/messagesにログ出力します。プロセスIDを出力、プライオリティを「crit」、タグを「test.sh」、メッセージを「Test Message!」で出力します。

$ logger -ip local0.crit -t test.sh "Test Message!"

ログにメッセージが出力されていることを確認します。

$ sudo grep "Test Message!" /var/log/messages
Dec 12 08:55:28 server01 test.sh[31136]: Test Message!

おわりに

loggerコマンドを使用すると、シェルのエラーなどをシステムログに容易に出力することができます。

関連記事

関連書籍(Amazon)