我正在开发一个相当大的(而且有很多bug的)JSF应用程序,用户经常抱怨我们难以重现的问题。
是否有可能拦截所有ActionEvents的创建,以便我可以记录它们的创建?
如果没有,是否有一种自动的方法(JSF或其他),我可以改进日志记录,使它吐出所有的用户操作?
您可以使用java.util.Logging并让日志记录器记录调用方法的时间、调用方法的输入参数、返回的内容、结束的时间以及发生的任何异常。这将为您提供有关用户输入的实际数据以及是否有任何错误的信息。您也可以在PhaseListener中为Invoke Application阶段做一些事情,但这可能会影响所有请求的一些性能。