The logger command provides an easy way to add messages to the /var/log/syslog file from the command line or from other files. Credit: Bureau of Land Management Oregon and Washington The Linux logger command provides an easy way to add log files to /var/log/syslog — from the command line, from scripts, or from other files. In today’s post, we’ll take a look at how it works. How easy is easy? This easy. Just type logger on the command line and your message will be added to the end of the /var/log/syslog file. $ logger comment to be added to log $ tail -1 /vvar/log/syslog May 21 18:02:16 butterfly shs: comment to be added to log Command output You can also add the output from commands by enclosing the commands in backticks. $ logger `who` $ tail -1 /var/log/syslog May 21 18:02:43 butterfly shs: shs pts/0 2018-05-21 15:57 (192.168.0.15) Content from a file The contents of text files can be added by using the -f option. Put the name of the file to be added to the log following the -f option as shown below. $ cat msg Backups to off-site facility will run this coming weekend. System availability will not be affected. $ logger -f msg $ tail -2 /var/log/syslog May 21 18:06:01 butterfly shs: Backups to off-site facility will run this coming weekend. May 21 18:06:01 butterfly shs: System availability will not be affected. Using logger in scripts You can add logger commands to scripts to make it easier to track the completion of important tasks. $ grep logger /bin/runme logger "$0 completed at `date`" $ sudo runme $ tail -1 /var/log/syslog May 21 17:57:36 butterfly shs: ./runme completed at Mon May 21 17:57:36 EDT 2018 Limiting the size of logger entries If you’re concerned about how much data will be added to your log file, especially if you’re dumping content from a file, you can use the –size option to limit it. In this example, the size is artificially small to make a point. $ logger --size 10 12345678901234567890123456789012345678901234567890 $ tail -1 /var/log/syslog May 21 18:18:02 butterfly shs: 1234567890 This option works differently than you might expect in that, given input that includes blanks, it will constrain the content on a per-line basis rather than an overall length basis. $ logger --size 5 `date` $ tail -5 /var/log/syslog May 22 08:35:51 butterfly shs: May May 22 08:35:51 butterfly shs: 22 May 22 08:35:51 butterfly shs: 08:35 May 22 08:35:51 butterfly shs: EDT May 22 08:35:51 butterfly shs: 2018 Don’t be misled by these simple examples. The –size option is generally used to limit large amounts of text. The default maximum is 1KiB (1024 bytes). Ignoring blank lines The -e option allows you to avoid dumping empty lines into your log file. They will simply be ignored. Note, however, that a line that contains blanks will not be considered blank. $ cat appts Appts <=== file includes blank line 8 AM -- get to office 8:30 AM -- meet with boss 11:00 AM -- staff meeting $ logger -e -f appts May 22 08:17:31 butterfly shs: Appts <=== log does not May 22 08:17:31 butterfly shs: 8 AM -- get to office May 22 08:17:31 butterfly shs: 8:30 AM -- meet with boss May 22 08:17:31 butterfly shs: 11:00 AM -- staff meeting May 22 08:17:33 butterfly kernel: [58833.758599] [UFW BLOCK] IN=enp0s25 OUT= MAC=01:00:5e:00:00:fb:ac:63:be:ca:10:cf:08:00 SRC=192.168.0.9 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PROTO=2 Other options The logger tool offers others as well — such as writing to a log on another server using -n or –no-act for testing. Check your man page for more details. Related content how-to How to examine files on Linux Linux provides very useful options for viewing file attributes, such as owners and permissions, as well as file content. By Sandra Henry Stocker Oct 24, 2024 6 mins Linux how-to 8 easy ways to reuse commands on Linux Typing the same command again and again can become tiresome. Here are a number of ways you can make repeating commands – or repeating commands but with some changes – a lot easier than you might expect. By Sandra Henry-Stocker Oct 15, 2024 5 mins Linux news SUSE Edge upgrade targets Kubernetes and Linux at the edge SUSE Edge 3.1 includes a new stack validation framework and an image builder tool that are aimed at improving the scalability and manageability of complex Kubernetes and Linux edge-computing deployments. By Sean Michael Kerner Oct 15, 2024 6 mins Edge Computing Linux Network Management Software how-to Lesser-known xargs command is a versatile time saver Boost your Linux command line options and simplify your work with xargs, a handy tool for a number of data manipulation tasks. By Sandra Henry Stocker Oct 11, 2024 6 mins Linux PODCASTS VIDEOS RESOURCES EVENTS NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe