私は非同期TCPサーバー(特にMUDサーバー)を作成するために素晴らしいAnyEventを使用しています。PerlのAnyEventで使用するロギングモジュールはどれですか?
ブロック/同期コードの数を少なくして、すべてをスムーズに動かすために、使用していた一部のモジュール、たとえばAnyEvent::MemcachedとAnyEvent::Gearmanを置き換えました。これにより、メインプログラムが非常に迅速になることが可能になり、望ましいことである。私は同期のためにこれらの呼び出しのいくつかの必要性をコード化しました。
私が現在持っている1つの問題と、この質問の焦点はロギングです。
このサーバープログラムのAnyEventを使用する前に、どのモジュールまたはサブルーチンをどのレベルでどのログ出力(画面、ファイルなど)を微調整するかを微調整できるように、Log::Log4perlを使用していました。
ここでの問題は、Log4perlのアクション(警告、情報など)が現在同期的に実行されていることですが、ログ行が最終的に画面/ファイル(および正しい順序) )。
AnyEventなどの非同期イベントハンドラを使用する場合、Log :: Log4perlは正しい選択ですか、別のモジュールを参照する必要がありますか?もしそうなら、これはお勧めですか?
非同期アペンダーが存在していないことを明確にしてくれてありがとう – mfontani