如何手动将消息添加到Linux系统日志文件

xcznb 2020-02-11

日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定日期或特定时间发生的情况。管理员通常将日志文件用于故障排除。日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。这是logger命令派上用场的地方。

如何手动将消息添加到Linux系统日志文件

使用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 

如何手动将消息添加到Linux系统日志文件

正如您在输出中所看到的,给定的消息已添加到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 

相关推荐