使用Logger命令添加到Linux日志文件

使用Logger命令添加到Linux日志文件

使用Logger命令将消息添加到Linux系统日志文件,logger命令是util-linux软件包的一部分,因此请不要安装它。下面给到大家一些示例:

1.1. 简单使用

$ logger Welcome to OSTechNix 
$logger "Welcome to OSTechNix blog"

上面的命令会将条目“ Welcome to OSTechNix”添加到系统日志文件中。
让我们使用“ tail”命令验证消息是否已添加:

$ tail -l /var/log/syslog

样本输出:

Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on REST API socket 
Jan 31 07:33:14 ubuntuserver sk: Welcome to OSTechNix

注意:
不同的Linux操作系统将日志消息存储在不同的文件中。我建议您查看/ var/log/目录,以了解日志存储在哪些文件中。在基于RPM的系统(如CentOS)中,常规日志消息将存储在/var/log/messages文件中,而不是/var/log/syslog文件中。

1.2. 常用参数

logger 用于往系统中写入日志,他提供一个shell命令接口到syslog系统模块
语法:

logger [options] [messages]

参数:

    -d, --udp  
        使用数据报(UDP)而不是使用默认的流连接(TCP)
    -i, --id   
        逐行记录每一次logger的进程ID
    -f, --file file_name
        记录特定的文件
    -h, --help 
        显示帮助文本并退出
    -n, --server 
        写入指定的远程syslog服务器,使用UDP代替内装式syslog的例程
    -P, --port port_num
        使用指定的UDP端口。默认的端口号是514
    -p, --priority priority_level
        指定输入消息的优先级,优先级可以是数字或者指定为 " facility.level" 的格式。比如:" -p local3.info " local3 这个设备的消息级别为 info。默认级别是 "user.notice"
    -s, --stderr
        输出标准错误到系统日志。
    -t, --tag tag
        指定标记记录
    -u, --socket socket
        写入指定的socket,而不是到内置系统日志例程。
    -V, --version
        现实版本信息并退出

日志级别:

facility:
    auth:             用户授权
    authpriv:         授权和安全
    cron:             计划任务
    daemon:           系统守护进程
    kern:             与内核有关的信息
    lpr                与打印服务有关的信息
    mail               与电子邮件有关的信息
    news               来自新闻服务器的信息
    syslog             由syslog生成的信息
    user               用户的程序生成的信息,默认
    uucp               由uucp生成的信息
    local0~7           用来定义本地策略
 
level:
    alert          需要立即采取动作
    crit           临界状态
    debug          调试
    emerg          系统不可用
    err            错误状态
    error          错误状态
    info           正常消息
    notice         正常但是要注意
$ logger -i 'Howdy, Welcome to OSTechNix blog'

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

$ tail -l /var/log/syslog
[...]
Jul  1 10:23:22 10-23-97-171 ubuntu[18813]: Howdy, Welcome to OSTechNix blog

18813是记录器的进程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字符。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值