Upstart 将 stdout 和 stderr 记录到文件未按预期工作

Upstart 将 stdout 和 stderr 记录到文件未按预期工作

在 bash 中我可以运行:

java -jar server.jar &>> log.txt

它将 stdout 和 stderr 合并到 中log.txt。但是当我在我的暴发户 .conf文件,它不会这样做:

exec java -jar server.jar &>> log.txt

我也尝试过将日志分成以下几种:

exec java -jar server.jar >> log.txt 2>> err.txt

这也不起作用。它将要如果我让它覆盖而不是附加,例如

exec java -jar server.jar > log.txt 2> err.txt

但这是不能接受的。这是 Upstart 的一个错误还是我误解了什么?我正在运行 Ubuntu 14.04.2 LTS,Upstart 版本 1.12.1,我对这两个版本都很陌生。

答案1

不要自己创建文件。让 upstart 管理它,这样它就会将 stdout 和 stderr 都记录到/var/log/upstart/<service>.log

console log
exec java -jar server.jar

如果您需要更改目录路径,可以使用--logdir <directory>

相关内容