【问题标题】:logger in shell scriptshell脚本中的记录器
【发布时间】:2014-07-08 16:29:30
【问题描述】:

我有这个应该登录自定义日志文件的 shell 脚本

#!/bin/bash

LOG=/var/log/Custom/rules.log
logger -f $LOG "found rule --> rule 0f 1"

为什么没有登录到 /var/log/Custom/rules.log 文件?但它会登录到 /var/log/syslog。

请让我知道我的命令有什么问题。

【问题讨论】:

    标签: linux bash shell ubuntu


    【解决方案1】:

    您可能误解了-f 参数。使用-f 传递的文件将被记录到 /var/log/syslog,而不是按照手册页的说明记录到

    -f, --file file 记录指定文件的日志。此选项不能与命令行消息结合使用。

    以下示例将使用重定向将您的日志字符串简单地附加到$LOG

    echo "found rule --> rule 0f 1" >> $LOG
    # with fancy timestamp:
    echo "$(date) $(hostname): found rule --> rule 0f 1" >> $LOG
    

    【讨论】:

    • 是的,但我希望记录器登录一些文件。我所有的 local0 到 local7 也在 rsyslog.conf 中使用
    • 为什么需要记录器来记录到另一个文件?
    • 它打印时间和其他东西,让日志文件看起来应该是这样,其他实现它的方法非常乏味
    • 制作自己的时间戳并手动添加其他信息仍然是最简单的解决方案。
    • logger 根据其手册页,是“syslog(3) 系统日志模块的 shell 命令接口”。它不是一个通用的日志框架。如果要登录到特定文件,请使用输出重定向而不是 logger...
    猜你喜欢
    • 2010-10-15
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2020-09-03
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多