logger的作用其实就是把消息分流到syslog;默认配置将添加时间戳并将日志写入 /var/log/messages,但这并不意味着记录器的目的是添加时间戳。
处理此问题的一种方法是修改您的 syslog 配置,以便您通过记录器路由的消息转到一个特殊文件 - 使用“-p”标志记录器来规定一个 factory.priority 对(可能是用户 [1. .7] 设施),并配置您的 syslogd 将该设施记录到一个特殊文件中。
或者,您可以创建一个快速的 shell 函数来简单地添加时间戳:
Bodacious:~ james$ timestamp () {
> f=`date`
> echo $f $*
> }
You have new mail in /var/mail/james
Bodacious:~ james$ timestamp a line of logs
Tue 18 Jan 2011 22:40:24 EST a line of logs
Bodacious:~ james$
Run Code Online (Sandbox Code Playgroud)
在我的系统上,这将导致 shell 在每行输出中分叉 /bin/date 一次。这是低效的,但在小规模下可能可以接受。