导读 | 日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定日期或特定时间发生的情况。管理员通常将日志文件用于故障排除。日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。这是logger命令派上用场的地方。 |
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”。请参阅记录器手册页以了解所有可用的优先级选项。
我们可以使用命令从支架输入中输入内容,然后使用以下命令将其推入系统日志:
$?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