View stdout/stderr of systemd service
Update
As mikemaccana notes, the systemd journal is now the standard logging device for most distros.
To view the stdout
and stderr
of a systemd unit use the journalctl
command.
sudo journalctl -u [unit]
Original Answer
By default stdout
and stderr
of a systemd unit are sent to syslog.
If you're using the full systemd, this will be accesible via journalctl
.
On Fedora, it should be /var/log/messages
but syslog will put it where your rules say.
Due to the date of the post, and assuming most people that are exposed to systemd are via fedora, you were probably hit by the bug described here:
https://bugzilla.redhat.com/show_bug.cgi?id=754938
It has a good explanation of how it all works too =) (This was a bug in selinux-policy that caused error messages to not be logged, and was fixed in selinux-policy-3.10.0-58.fc16
)
Shorter, simpler, non-legacy answer:
sudo journalctl -u [unitfile]
Where [unitfile] is the systemd .service
name. Eg, to see messages from myapp.service
,
sudo journalctl --unit=myapp
To follow logs in real time:
sudo journalctl -f -u myapp