Mantas,

I do not want to reimplement all the logic myself, I just want to get journal entries directly at the source. The syscall you listed will do nicely, thank you, provided it supplies the right inode everytime my process is awakened by inotify. I will test it in the next hours/days.

Thanks again for this precious insight.

giulix

On 08/14/2015 01:56 PM, Mantas Mikulėnas wrote:
On Fri, Aug 14, 2015 at 2:20 PM, giulix <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I have a process that reads from the journald log file. It gets a
    notification from inotify that something's changed, opens the
    journal, skims through it for messages it's interested in, does
    its stuff and closes the journal file
    
(http://www.giulix.it/content/extracting-data-systemd-journal-programmatically).
    When the journal log file is rotated, the process stops to do its
    job. It is, of course, because it never realizes the file it's
    waiting on for notifications via inotify has changed.
    I have uselessly tried to implement some mechanism to have my
    process restarted when the journal file changes, but it seems that
    nothing is available from systemd or journald to notify a process
    that journald is switching to a new output file.


There is no need for a signal – inotify can inform you about renames as well.

But, you shouldn't reimplement the entire logic yourself. (There's more to it, like separate systemd or user journals....) *Instead, call sd_journal_get_fd(3) and let libsystemd do the monitoring.*

--
Mantas Mikulėnas <[email protected] <mailto:[email protected]>>

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to