Awesome, thanks! Also, where can I find the code section where services And kernel logs to journald? After tracing from 'main' at journald.c I came across the part where various sockets are opened and validated (/run/systemd/journal/stdout, /dev/kmsg, /dev/log ) for journald to listen to logs of systemd services and kernel. That is the server side part.
Where can I find the client side journald code where services and kernel sends their logs to journal. Nishant On Sun, 29 Aug 2021, 18:39 Michael Chapman, <m...@very.puzzling.org> wrote: > On Sun, 29 Aug 2021, Nishant Nayan wrote: > > Also I was wondering where in the code does journald.config file changes > > are parsed? > > For example in the above code , the line :- > > if (s->storage == STORAGE_PERSISTENT) > > Here, s->storage corresponds to 'Storage' option of conf file right? > > How is it getting set when we edit the conf file? > > The configuration files are loaded in server_parse_config_file(). The > actual code that maps keys in the files to variables in the program is > generated by gperf [1] from the journald-gperf.gperf source file. > > [1] https://www.gnu.org/software/gperf/manual/html_node/index.html > > > Also, on doing "ls /run/log/journal/machine_id/" > > I can see output as following > > <some_big_number>.journal > > <some_another_big_number>.journal > > . > > . > > . > > system.journal > > > > Is 'system.journal' is the currently active journal and rest are archived > > journals? > > That's correct. >