I have often written my own logging implementations for similar reasons. I think it is pretty difficult to turn the set of features into a generic library because it necessarily is opinionated about multiple aspects of the software architecture that uses it.
Not all formatting is amenable to being pushed to another thread without introducing undesirable concurrency concerns.