在 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>
。