Асинхронный логгер

Здравствуйте.
Сделал свой первый крейт асинхронный логгер. Было бы интересно услышать мнения, замечания, что можно улучшить. Логгер разделен на две части, код основной части здесь: https://github.com/stencillogic/async_logger Спасибо.

А в файл разве можно писать асинхронно? В файл оно все равно же будет писать поочереди. Или ты хочешь чтоб текущий поток не ждал пока логи пишутся?

P.S. thread spawn уже не модно, переписывай на tokio)))

Да, запись в файл происходит синхронно в отдельном потоке, что освобождает рабочие потоки от этой обязанности. Цель была простая: минимизировать затраты времени или вычислительных ресурсов на логирование в рабочих потоках.
Было бы интересно почитать про реализацию асинхронности в rust (и не только в rust), прежде чем брать tokio. Не с точки зрения языковых конструкций и правил использования, а в общем, в теории. Не знаю, есть ли достаточно информации в rust async-book в этом плане. Если есть, что посоветовать, было бы замечательно.
Я предполагаю, что под капотом асинхронности все те же потоки ОС, и от них никуда не денешься. В моем случае они хотя бы под контролем.