ほとんどの一般的な Java ロギング ライブラリは、おそらく非同期書き込み部分を除いて、あなたが求めているもののほとんどをサポートしています。次の広く使用されているライブラリを確認することをお勧めします。
Log4J - Log4J は非常に構成可能ですが、リリースされようとしている新しい 2.x バージョン シリーズで解決されるはずのいくつかの問題があります。
Logback - これは、Log4J 1.2 の後継として設計されました。Log4J 2.x には、Logback によって行われたいくつかの改善が含まれます。
SLF4J - このライブラリは、基礎となる多くのロギング ライブラリのプロキシとして機能し、必要に応じてロギング フレームワークを切り替えることができます。基礎となる API を直接使用するほど効率的ではない可能性がありますが、これは実際には特定のログ ライブラリにバインドすることを避けるための最良の選択かもしれません。
非同期書き込みの要件に関しては、必要に応じて、すべてのログを独自の別のスレッドにプッシュするのは比較的簡単です。
編集:
どうやら、Log4J は非同期ロギングをサポートしているようです。