<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Apr 10, 2016 at 1:57 PM, Samuel Williams <span dir="ltr"><<a href="mailto:space.ship.traveller@gmail.com" target="_blank">space.ship.traveller@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p style="margin:0px;font-size:11px;line-height:normal"><font face="arial, helvetica, sans-serif">Hello,</font></p><p style="margin:0px;font-size:11px;line-height:normal"><font face="arial, helvetica, sans-serif"><br></font></p><p style="margin:0px;line-height:normal"><font face="arial, helvetica, sans-serif"><span style="font-size:11px">I've been trying to figure out the best way to support legacy applications that don't support syslog for logging. The best we can do, I think, is to use fifo and have another process read the fifo to journald.</span></font></p><p style="margin:0px;line-height:normal"><font face="arial, helvetica, sans-serif"><span style="font-size:11px"><br></span></font></p><p style="margin:0px;line-height:normal"><font face="arial, helvetica, sans-serif"><span style="font-size:11px">I made the following unit journald-fifo@.service</span></font></p><p style="margin:0px;line-height:normal"><font face="arial, helvetica, sans-serif"><span style="font-size:11px"><br></span></font></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">[Unit]</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">Description=A fifo for logging to journald</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">AssertPathExists=/var/log/%i.fifo</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code';min-height:13px"><br></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">[Service]</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">Type=simple</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">ExecStart=/bin/sh -c 'while true; do systemd-cat -t %i < /var/log/%i.fifo; done'</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">Nice=5</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code';min-height:13px"><br></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">[Install]</p><p style="margin:0px;font-size:11px;line-height:normal;font-family:'Fira Code'">WantedBy=multi-user.target</p><div><br></div><p style="margin:0px;line-height:normal"><font face="arial, helvetica, sans-serif"><span style="font-size:11px">I was wondering is this a good approach? Is there a better way? (of course, we'd like to fix the original software to work better).</span></font></p></div></blockquote><div><br></div><div>If the software can log to stdout/stderr, just use that. If not, make it write logs to "/dev/stderr". Either way, systemd will log service stdout automatically.</div><div><br></div></div>-- <br><div class="gmail_signature"><div dir="ltr">Mantas Mikulėnas <<a href="mailto:grawity@gmail.com" target="_blank">grawity@gmail.com</a>></div></div>
</div></div>