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

时间:2020-03-21 11:44:45  来源:igfitidea点击:

日志文件是包含由系统本身记录的一组记录(或者事件列表)的文件。
使用日志文件,Sysadmin可以跟踪特定日期或者时间发生的情况。
管理员主要使用日志文件进行故障排除目的。
日志文件是自动生成的,并在公共目录/var/log /下保存。
我们还可以手动向Linux系统日志文件添加消息。
例如,在设置日志服务器后,我们可能希望检查日志服务器是否正常运行。

为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。
这是Logger命令派上派上的位置。

使用Logger命令将消息添加到Linux系统日志文件

Logger命令是UTIL-Linux包的一部分,因此请勿打扰安装它。
让我告诉你一些例子。

手动添加条目到系统日志文件绝对简单! Logger命令的典型用法是:

logger <message-to-add>

例子:

$logger Welcome to theitroad

上面的命令将在系统日志文件中添加条目"欢迎theitroad"。

让我们验证消息是否已添加或者不使用"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 theitroad

在输出中看到的时,给定的消息已添加到Syslog文件中。

说明:

不同的Linux操作系统将日志消息存储在不同的文件中。
我建议我们查看/var/log /目录知道日志存储的文件。
在基于RPM的系统中,如CentOS,常规日志消息将存储在/var/log/messages文件中而不是/var/log/syslog文件中。

我们还可以通过单个或者双引号括起来添加消息。

$logger "Welcome to theitroad blog"

或者,

$logger 'Howdy, Welcome to theitroad blog'

检查输入是否已使用 tail命令添加到syslog文件中:

$tail -l /var/log/syslog 
[...]
Jan 31 07:40:02 ubuntuserver sk: Welcome to theitroad blog
Jan 31 07:40:31 ubuntuserver sk: Howdy, Welcome to theitroad blog

将记录器PID添加到系统日志

我们甚至可以使用下面的-i标志使用每行记录记录器进程的PID。

$logger -i 'Howdy, Welcome to theitroad blog'

使用 tail命令验证日志消息:

$tail -l /var/log/syslog 
[...]
Jan 31 07:49:22 ubuntuserver sk[1879]: Howdy, Welcome to theitroad blog

其中1879年是记录器的过程ID。

将标签添加到消息

由于我们可能在上面的输出中注意到,新添加的条目被标记为当前登录的用户名(例如:SK)。
默认标记是终端上登录的用户的名称。
但是,我们可以使用使用-t标志来标记使用特定标记的每一行标记。

$logger -i -t theitroad 'Howdy, Welcome to theitroad blog'

检查日志条目:

$tail -l /var/log/syslog 
[...]
Jan 31 07:54:02 ubuntuserver theitroad[1881]: Howdy, Welcome to theitroad blog

看到了吗?
最后一个条目用onirad标记,其进程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 theitroad" --priority user.warning

默认优先级为"user.notice"。
请参阅Logger Man Page以了解所有可用的优先级选项。

从'stdin'和消息输入到系统日志

我们可以从站点输入输入的输入,并使用命令将它们推向syslog:

$echo "Welcome to theitroad" | logger

向远程日志服务器发送消息

要将消息发送到在特定端口运行的远程Syslog服务器,运行:

$logger "Welcome to theitroad" --server <hostname-or-ip> --port <port-no>

或者,

$logger "Welcome to theitroad" -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