在Perl的AnyEvent下使用哪个日志记录模块?

mfo*_*ani 5 perl asynchronous

我正在使用精彩的AnyEvent来创建异步TCP服务器(特别是MUD服务器).

为了保持一切顺利运行并且尽可能少的阻塞/同步代码片段,我已经用异步对应物替换了一些我使用的模块,例如AnyEvent :: MemcachedAnyEvent :: Gearman.这允许主程序非常快速,这是期望的.我编写了一些这些调用需要同步的代码.

我目前遇到的一个问题是这个问题的重点是记录.

在转向此服务器程序的AnyEvent之前,我使用的是Log :: Log4perl,因为它允许我微调哪些模块或子程序应该被记录,在哪个级别以及哪个日志输出(屏幕,文件等).

这里的问题是Log4perl操作(警告,信息等)当前是同步执行的,但只要日志行最终在屏幕/文件上(并按正确的顺序),我就没有要求.

当使用异步事件处理程序(如AnyEvent)时,Log :: Log4perl仍然是正确的选择,还是应该查看其他模块?如果是这样,推荐哪个?

Rei*_*ica 2

AnyEvent::Log 随 AnyEvent 一起提供,使用 AnyEvent::IO,当 IO::AIO 可用时异步追加到文件(不可用时同步追加)。