Hi! So I'm testing a program repeatedly and using `systemd-run` to start a service with it, passing it a specific unit name. When the test finishes and I bring down the service, I want to be able to collect the journald logs for that execution of the test alone. Right now what I'm doing is naming the service differently every time, including a random number, so I can collect the logs for that service alone at the end. Such as: # myservice_name=myservice-${RANDOM}.service # systemd-run --unit="${myservice_name}" --remain-after-exit mybin --myarg1 --myarg2 ... And then collecting the logs using: # journalctl -u "${myservice_name}" One disadvantage of this approach is that the units pile up as I keep running tests... # systemctl status myservice-*.service And that it's hard to find which one is the latest one, from an unrelated session (this works only while active): # systemctl list-units --state running myservice-*.service I would like to run these tests all under a single unit name, myservice.service. I'm fine with not having more than one of them at the same time (in fact, that's a feature.) But I wonder how I can get the logs for a single execution... The best I could come up with was using a cursor to get the logs for the last execution: # journalctl -u myservice MESSAGE_ID=39f53479d3a045ac8e11786248231fbf --show-cursor -- Logs begin at Thu 2018-03-22 22:57:32 UTC, end at Fri 2018-03-23 19:17:01 UTC. -- Mar 23 16:40:00 mymachine systemd[1]: Started mybin --myarg1 --myarg2 Mar 23 16:45:00 mymachine systemd[1]: Started mybin --myarg1 --myarg2b Mar 23 16:50:00 mymachine systemd[1]: Started mybin --myarg1 --myarg2 --myarg3 -- cursor: s=abcde12345...;i=123f45;b=12345abcd...;m=f123f123;t=123456...;x=... And then use the cursor to query journald and get the logs from the last execution: # journalctl -u myservice --after-cursor 's=abcde12345...;i=123f45;...' That works to query the last execution of the service, but not a random one... I guess what I'm looking for is a way to get systemd to inject a journal field to every message logged by my unit. Something like an environment variable perhaps? Or some other field I can pass to systemd-run using -p. Or something that systemd itself generates, that's unique for each execution of the service and that I can query somehow (perhaps `systemd show` while the service is up.) Is there any such thing? Any other suggestions of how I should accomplish something like this? Thanks! Filipe -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20180323/86eb40e5/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4851 bytes Desc: S/MIME Cryptographic Signature URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20180323/86eb40e5/attachment.bin>