在bash中,我可以运行:
java -jar server.jar &>> log.txt
它将stdout和stderr合并到log.txt 。 但是,当我在Upstart .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,对于这两者我都是比较新的。
不要自己创build文件。 让新贵pipe理这个,所以它会loggingstdout和stderr到/var/log/upstart/<service>.log :
console log exec java -jar server.jar
如果您需要更改目录path,可以使用--logdir <directory> 。