在 playframework 2 中,如果您使用 Java,则可以将任何动作组合注释直接放在 Controller 类上,然后将其应用于此控制器定义的所有动作方法,因为它记录在playframework2 文档中的动作组合部分。
@With(MyLogger.class)
public Admin extends Controller {
..
}
Java 中的注解是由 Scala 中的辅助方法(装饰器)完成的。但是在 Scala 中,playframework2 文档中的唯一示例是每个方法。
我有一个日志装饰器,它记录每个操作之前和之后的日志,并测量执行该操作所需的时间。有没有办法将此装饰器添加到控制器中,以便将其应用于控制器中的每个操作方法,就像在 Java 中一样?
我知道我可以用我的 LoggingAction 包装每个方法:
def index = LoggingAction { request =>
Ok("I have been logged")
}
但是,当您想将日志记录操作应用于项目范围内的所有操作方法时,这似乎很难看。