Even if SNMP seems redundant for your application, it may still be your best choice. NET SNMP is not difficult to use and has a well-known standard for monitoring applications.
Some other options:
Rsyslog The problem you may encounter with this is that it is more difficult to integrate it into a monitoring application. But it has a well-known standard and may be worthy.
railway junction ++ ion It has a nice interface for C ++, but, in my experience, it can be a little unstable. In native mode, it also uses a little more memory, which may not be what you want.
Rutix source share