Fix some potential error conditions

- give the FileLogger struct the correct maxRotate value
- recover in the generic log function so we don't let any panics escape