日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定日期或特定时间发生的情况。管理员通常将日志文件用于故障排除。日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。这是logger命令派上用场的地方。
使用Logger命令将消息添加到Linux系统日志文件
ogger命令是util-linux软件包的一部分,因此请不要安装它。下面给到大家一些示例:
手动将条目添加到系统日志文件绝对简单! logger命令的典型用法是:
- logger <message-to-add
示例:
- $ logger Welcome to OSTechNix
上面的命令会将条目“ Welcome to OSTechNix”添加到系统日志文件中。
让我们使用“ tail”命令验证消息是否已添加:
- $ tail -l /var/log/syslog
样本输出:
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on REST API socket for snapd user session agent.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG network certificate management daemon.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG cryptographic agent and passphrase cache.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Sockets.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Timers.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Basic System.
- Jan 31 07:19:23 ubuntuserver systemd[1]: Started User Manager for UID 1000.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Default.
- Jan 31 07:19:23 ubuntuserver systemd[1705]: Startup finished in 298ms.
- Jan 31 07:33:14 ubuntuserver sk: Welcome to OSTechNix
正如您在输出中所看到的,给定的消息已添加到syslog文件中。
注意:
不同的Linux操作系统将日志消息存储在不同的文件中。我建议您查看/ var / log /目录,以了解日志存储在哪些文件中。在基于RPM的系统(如CentOS)中,常规日志消息将存储在/ var / log / messages文件中,而不是/ var / log / syslog文件中。
您还可以通过将消息括在单引号或双引号中来添加消息。
- $ logger "Welcome to OSTechNix blog"
或者,
- $ logger 'Howdy, Welcome to OSTechNix blog'
检查条目是否已添加到syslog文件中:
- $ tail -l /var/log/syslog
- [...]
- Jan 31 07:40:02 ubuntuserver sk: Welcome to OSTechNix blog
- Jan 31 07:40:31 ubuntuserver sk: Howdy, Welcome to OSTechNix blog
添加到系统日志
我们甚至可以使用-i标志(如下所示)在每一行中记录记录器进程的PID。
- $ logger -i 'Howdy, Welcome to OSTechNix blog'
使用tail命令验证日志消息:
- $ tail -l /var/log/syslog
- [...]
- Jan 31 07:49:22 ubuntuserver sk[1879]: Howdy, Welcome to OSTechNix blog
1879是记录器的进程ID。
在消息中添加标签
您可能会在上面的输出中注意到,新添加的条目会使用当前登录的用户名(即sk)进行标记。默认标签是在终端上登录的用户的名称。但是,我们可以使用-t标志将每行记录为带有特定标记的记录。
- $ logger -i -t ostechnix 'Howdy, Welcome to OSTechNix blog'
检查日志条目:
- $ tail -l /var/log/syslog
- [...]
- Jan 31 07:54:02 ubuntuserver ostechnix[1881]: Howdy, Welcome to OSTechNix blog
最后一个条目带有ostechnix标记,其进程ID为1881。
将消息从文件添加到日志文件
也可以将文件中的条目添加到我们的系统日志文件中。
让我们创建一个示例文本文件。
- $ echo "This is test file" > file.txt
- $ cat file.txt
- This is test file
现在,使用以下命令将file.txt的内容添加到系统日志文件中:
- $ logger -f file.txt
检查日志文件:
- $ tail -l /var/log/syslog
- [...]
- Jan 31 08:43:06 ubuntuserver sk: This is test file
如果输入文件中有任何空行,则可以使用如下所示的-e标志将它们排除在添加到日志文件之外。
- $ logger -e -f file.txt
优先记录消息
可以使用给定的优先级记录消息。
- $ logger "Welcome To OSTechNix" --priority user.warning
默认优先级为“ user.notice”。请参阅记录器手册页以了解所有可用的优先级选项。
将来自“ stdin”的输入和消息发送到系统日志
我们可以使用命令从支架输入中输入内容,然后使用以下命令将其推入系统日志:
- $ echo "Welcome to OSTechNix" | logger
记录器将消息发送到远程日志服务器
要将消息发送到在特定端口上运行的远程syslog服务器,请运行:
- $ logger "Welcome to OSTechNix" --server <hostname-or-ip> --port <port-no>
或者,
- $ logger "Welcome to OSTechNix" -n <hostname-or-ip> -p <port-no>
默认端口号是514。
限制消息的大小
我们可以使用–size标志设置允许的最大消息大小。
- $ logger --size 5 abcdefghijklmnopqrswxyz
查看日志消息大小:
- $ tail -l /var/log/syslog
- [...]
- Jan 31 09:09:02 ubuntuserver sk: abcde
默认值为1KiB字符。
- $ man logger