While the latest syslog protocol (
RFC5424) theoretically supports syslog precision down to the microsecond, real-world support for this is lacking. Most implementations are conformant with the earlier RFC3164 syslog protocol, which was basically just an RFC that documented longtime existing practice dating back to the origins of syslogd.
libc's syslog() function has historically been backed by time(3) which limits timestamp resolution to the second. This offers the highest degree of compatibility with historical implementations. FreeBSD 12 has started to use gettimeofday(2) in syslog(), and has modified syslogd to support optional high-res timestamps through the '-O format' argument.
It's worth noting that FreeNAS is currently based on FreeBSD 11, and also uses syslog-ng rather than the base system's syslogd, so the options matrix is kinda complicated. If you could explain what it is you are trying to accomplish, I might be able to make some more specific and relevant comments.