在Linux中,我知道如何在/ var / log / messages文件中写简单的消息,在我创建的一个简单的shell脚本中:
#!/bin/bash logger "have fun!"
我想停止丢弃消息到默认的/ var / log / messages文件,并创建自己的。
我试过这个:
#!/bin/bash logger "have more fun" > /var/log/mycustomlog
它仍然记录到/ var / log / messages。它创建了/ var / log / mycustomlog,但它是空的。
任何人都看到我错过了什么?
logger日志到syslog设施。如果你想要消息去一个特定的文件,你必须相应地修改syslog配置。您可以添加如下行:
local7.* -/var/log/mycustomlog
并重新启动syslog。然后你可以这样记录:
logger -p local7.info "information message" logger -p local7.err "error message"
不更改syslog配置,您可以使用logger这样:
logger -s "foo bar" 2>> /var/log/mycustomlog
这将指示记录器打印消息到STDERR以及(除了记录它到syslog),所以你可以重定向STDERR到一个文件。但是,这是完全没有意义,因为消息已经通过syslog记录(默认优先级user.notice)。