The following works for me:
#include <syslog.h>
int main()
{
openlog("myprog", 0, LOG_USER);
syslog(LOG_INFO, "hello world\n");
closelog();
return 0;
}
journalctl shows
jan [...] myprog[12907]: hello world
strace shows it connecting to the /dev/log UNIX domain socket as expected:
socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
sendto(3, "<14>Jan [...] myprog: hell"..., 40, MSG_NOSIGNAL, NULL, 0) = 40
close(3) = 0