File Appender
This appender is originally a fork of tracing-appender.
Later, we rewrite it completely to support:
- Rolling files based on file size and/or time.
- Drop non-blocking glue in favor of a dedicated async appender combinator.
- Different log file naming and rolling over strategies.
Design reference: