美文网首页linux整理
linux:日志logger命令详解

linux:日志logger命令详解

作者: 随风化作雨 | 来源:发表于2017-11-30 14:05 被阅读289次

    logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。

    logger 语法

    logger [options] [messages]
    options (选项):
    -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
    现实版本信息并退出

    messages:写入log文件的内容消息,可以与-f配合使用。
    logger 以0退出表示成功,大于0表示失败。

    日志级别

    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 System Rebooted #往系统日志例程中写入“System Rebooted”可在/var/log/syslog中查看
    写入到指定的log文件中。

    $ vim /etc/rsyslog.conf #在最后一行加入local3.* /var/log/my_test.log 意思是来自local3的所有消息都记录到/var/log/my_test.log中。

    $ service rsyslog restart #重启rsyslog服务

    $ logger -i -t "my_test" -p local3.notice "test_info"

    $ cat /var/log/my_test.log
    May 5 21:27:37 gino-virtual-machine my_test[3651]: test_info

    -i 在每行都记录进程ID
    -t my_test每行记录都加上“my_test”这个标签
    -p local3.notice 设置记录的设备和级别
    "test_info" 输出信息

    相关文章

      网友评论

        本文标题:linux:日志logger命令详解

        本文链接:https://www.haomeiwen.com/subject/qasvbxtx.html