D P*_*sin 12 java logging scala actor akka
在以下文档中,事件处理程序被描述为取代记录 http://akka.io/docs/akka/1.2/general/event-handler.html
有一个事件处理程序取代了Akka的日志系统:
akka.event.EventHandler
具体来说,此链接提供了使用slf4j时如何执行此操作的示例:http://akka.io/docs/akka/1.2/general/slf4j.html
我的问题是'这给了什么优势?"为什么我会这样做而不是仅使用标准模式的记录器?"
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
private static Logger log = LoggerFactory.getLogger(MyActor.class);
...
log.info("doing something");
Run Code Online (Sandbox Code Playgroud)
基于线程或调度程序内部,通过使用上述记录器模式的事件处理程序,我是否会获得某些潜在的好处,我没有看到?如果没有,使用事件处理程序进行日志记录感觉就像偏离熟悉的模式一样没有明确的原因.
感谢您的任何意见!
Tho*_*ney 11
日志记录通常意味着IO,这会降低代码的运行速度.在actor的上下文中,每个消息必须在接收方法中单文件处理,在某些情况下,此开销可能会在该方法完成时产生一个(或更多)数量级的差异.在基于Erlang的系统中,将日志记录移动到运行接收块的线程(或Erlang球体中的进程)的控制流之外已经是一种常见模式.如果你的actor并没有严重依赖于接收块的时间,那么你总是可以回到标准的日志记录模式,如果这样可以让你更容易,但是习惯于基于EventHandler的方法可能是个好主意.
归档时间: |
|
查看次数: |
3158 次 |
最近记录: |