Sapphire 14 18 ss 641 better logging

@ryanwilliamson create parent dir with 0770, file with 0660 permissions for file logger
reopens file on flush to support log rotation (via SIGHUP)
reconnects to syslog on flush to try and ensure syslogger does not go silent after days of use
handle errors from writing messages instead of ignoring them in attempt to solve syslog going silent

return err here