使用时间戳logging

我试图用时间戳预先安排日志条目,但生成的时间戳似乎并没有随时间变化:

#!/bin/sh NOW=$(date +"%Y-%m-%d %H:%M:%S") echo "$NOW Logging something" sleep 2 echo "$NOW Logging something else" 

输出为:

 2012-03-02 12:32:49 Logging something 2012-03-02 12:32:49 Logging something else 

有人知道我在做什么错吗?

与以下对比:

 echo“`date +”%Y-%m-%d%H:%M:%S“logging一些东西”
睡2
 echo“`date +”%y-%m-%d%H:%M:%S“`logging别的东西”

在你的版本中,NOW被定义为一次,并且保持与脚本的其余部分一样。 以上,date是在“回声”时生成的。

如果您不想在每次使用某个function时添加date:

 #!/ bin / sh的

 logtest(){
     echo“`date +”%Y-%m-%d%H:%M:%S“`$ 1”
 }

loggingtesting“logging的东西”
睡2
 logtest“logging别的东西”

老的logger命令有什么问题? 🙂

 #!/bin/sh logger -t yourprogram Hello, this is a message sleep 2 logger -t yourprogram Hello, this is another message 

logging器还允许您使用系统日志优先级。

当您声明variables时,您只创build一次时间戳。 它不会自动更新。

尝试这个:

 echo `date +"%Y-%m-%d %H:%M:%S"` "Logging something"