As long ago as the 7th Edition, several binary log files were maintained: the file generated by acct(2) (one record per process) and the utmp and wtmp files (one record per login).  Both of these are defined by structs in .h files, so they are definitely not portable (int sizes, endianism, etc.)