Linux
新貴將標準輸出和標準錯誤記錄到文件未按預期工作
在 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,而且我對這兩個版本都很陌生。
不要自己創建文件。讓 upstart 管理它,以便它將 stdout 和 stderr 記錄到
/var/log/upstart/<service>.log
:console log exec java -jar server.jar
如果需要更改目錄路徑,可以使用
--logdir <directory>
.