private void cleanExceededFiles() {
        while (files.size() > maxFiles) {
            LogFile file = files.remove();
            if (maxFiles > 0) {
                deleteLogFile(file);
            }
        }
    }
Note that it is fine to close file channel and open a new one not atomically because there is
always only one thread will call roll() and append()
turms-server-common/src/main/java/im/turms/server/common/infra/logging/core/appender/file/RollingFileAppender.java