Upstart log stdout e stderr para o arquivo não funcionar como esperado

1

Quando no bash eu posso correr:

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

E combina stdout e stderr em log.txt . No entanto, quando eu tenho essa linha no meu arquivo Upstart .conf , ele não faz isso:

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

Eu também tentei separar os logs como:

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

E isso também não funciona. funcionará se eu fizer sobrescrever em vez de anexar, por exemplo

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

Mas isso não é aceitável. Isso é um bug no Upstart ou há algo que eu esteja entendendo mal? Estou executando o Ubuntu 14.04.2 LTS, versão Upstart 1.12.1 e sou relativamente novo em ambos.

    
por Dax Fohl 24.03.2015 / 22:27

1 resposta

2

Não crie o arquivo por conta própria. Permitir que o upstart gerencie isso para que ele registre o stdout e o stderr em /var/log/upstart/<service>.log :

console log
exec java -jar server.jar

Se você precisar alterar o caminho do diretório, use --logdir <directory> .

    
por 24.03.2015 / 23:40