小编rob*_*007的帖子

如何使用systemd将日志从服务内容输出到文件

好吧,我有一个配置了systemctl的服务。这是配置文件:

[Unit]
Description=The description of the service (:
After=network.target

[Service]
ExecStartPre=/bin/echo 'Starting Service' >> /var/log/node/myapp.log
ExecStart=/root/.nvm/versions/node/v5.0.0/bin/node ./bin/www
ExecStopPost=/bin/echo 'Stopping Service' >> /var/log/node/myapp.log
Restart=always
#StandardOutput=/var/log/node/myapp.log
#StandardError=/var/log/node/myapp.log
SyslogIdentifier=myapp
Environment=NODE_ENV=production
WorkingDirectory=/home/user/node-apps/theapp

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我需要的?:

1)ExecStartPreExecStopPost可以写入消息'starting service'或写入'stopping service'文件/var/log/node/myapp.log。用上面的配置,不起作用,它只输出'Starting Service' >> /var/log/node/myapp.logand 'Stopping Service' >> /var/log/node/myapp.logto journalctl。(我检查过journalctl -u myapp

2)我需要的是,而不是应用程序的所有日志,输出到journalctl, 可以输出到文件。例如:/var/log/node/myapp.log。我的意思是,如果在我的应用程序中,我有一个console.log(),这可能在那里。

使用upstart,我可以这样做:

script

exec start-stop-daemon --start --make-pidfile --pidfile /var/run/upstart-yourapp.pid …
Run Code Online (Sandbox Code Playgroud)

logging systemd systemctl journald journalctl

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

journalctl ×1

journald ×1

logging ×1

systemctl ×1

systemd ×1