我正在通过systemd运行java应用程序:
[Unit] Description=test service [Service] Type=simple EnvironmentFile=/etc/sysconfig/testserver WorkingDirectory=/opt/testserver ExecStart=/usr/bin/java -jar /opt/testserver/test.jar StandardOutput=syslog StandardError=syslog User=testserver Group=testserver SyslogIdentifier=testserver [Install] WantedBy=multi-user.target
我想在/opt/testserver/stdout.log和/opt/testserver/stderr.log stdout – 任何工作选项是可以接受的(即如果可能通过syslog )。 如果可能的话,我想避免在日志logging中至lesslogging其中之一。
谢谢…
我正在尝试以下Logstash来replace它的init.d脚本。 基本上,用bash包装它来提供stdout和stderrredirect。 不知道这是不是你想要的,或者想要使用的(这不是太可怕,但显然不是系统要求你这样做),但我需要一些东西,让它在Elasticsearch之后开始,我不想我的团队注意到日志文件的结尾有什么不同,所以希望这会让我感觉到,直到他们提供一个自己的 :
[Unit] Description=Logstash After=elasticsearch.service Requires=elasticsearch.service [Service] Type=simple User=logstash Group=logstash ExecStart=/bin/bash -c 'exec /opt/logstash/bin/logstash agent \ -f /etc/logstash/conf.d \ -l /var/log/logstash/logstash.log \ >/var/log/logstash/logstash.stdout \ 2>/var/log/logstash/logstash.err' WorkingDirectory=/var/lib/logstash LimitNICE=19 LimitNOFILE=16384 Restart=always [Install] WantedBy=multi-user.target
编辑:我刚刚意识到我可以创build/etc/systemd/system/logstash.service.d/after-es.conf如下,而不必重写他们的init.d脚本:
[Unit] After=elasticsearch.service Requires=elasticsearch.service
噢,离开上面的情况下,它是有用的。