logger -p info -f /mylog/0510.info.log “hello zhangwangyancom“ 问题排错

在这里插入图片描述

这个错误信息 "logger: --file <文件> 和 <消息> 互斥,消息已忽略" 表明同时使用了 -f (或 --file) 选项指定了日志文件,并且在命令行中直接提供了要记录的消息 "hello zhangwangyancom"

logger 命令的语法通常是这样的:

logger [options] [message]

或者,当你使用 -f 选项将日志消息写入文件时,通常不直接在命令行提供消息,而是让 logger 从标准输入读取消息或配合其他选项使用。

原因分析:

当你使用 -f /mylog/0510.info.log 时,logger 期望将日志消息写入 /mylog/0510.info.log 文件。此时,如果你再在命令行的末尾加上 "hello zhangwangyancom"logger 会认为你同时提供了要写入的文件和一个独立的消息,这两者是互斥的,因此忽略了你直接提供的消息。

解决办法:

你有以下几种方法来解决这个问题:

  1. 将消息通过管道传递给 logger

    echo "hello zhangwangyancom" | logger -p info -f /mylog/0510.info.log
    

    这条命令首先使用 echo 输出你的消息,然后通过管道 (|) 将其作为 logger 命令的标准输入,logger 会将标准输入的内容写入指定的文件。

  2. 直接使用 logger 记录消息,不使用 -f 选项(将日志记录到系统日志):

    logger -p info "hello zhangwangyancom"
    

    这条命令会将消息 "hello zhangwangyancom" 记录到系统的日志服务中(通常是 syslog 或 rsyslog),而不是特定的文件中。你可以根据你的系统配置在相应的日志文件中找到这条记录。

  3. 如果你确实想将特定消息写入文件,并且希望每次都覆盖文件(不推荐,除非你明确知道自己在做什么),你可以考虑使用重定向:

    echo "hello zhangwangyancom" >> /mylog/0510.info.log
    

    或者覆盖写入:

    echo "hello zhangwangyancom" > /mylog/0510.info.log
    

    注意: 这种方法不使用 logger 命令的日志管理功能(例如优先级),只是简单地将字符串写入文件。

总结:

遇到的错误是因为 -f 选项用于指定日志文件,而直接在命令行提供的消息被认为是与写入文件操作互斥的。你需要选择是将消息通过管道传递给 logger 并写入文件,还是直接使用 logger 记录消息到系统日志,或者使用重定向将消息写入文件。推荐使用第一种方法,因为它既使用了 logger 的功能,又能将消息写入你指定的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值