Use PIC and generate debug symbols.
Use file name from command line if present.
Test 'read' result correctly.
Rename parameter.
Add assertion for impossible case.
Use high-res timestamps and packed entry struct.
Set log file permissions.
Stop logging when writes fail.