2012-03-19 55 views
5

是否有通过简单查看一个日志文件来调试JSF + PrimeFaces应用程序的方法?更具体地讲,这里是如何,我个人做的那一刻,如果事情没有按预期工作:调试JSF + PrimeFaces应用程序

  1. 查找网页上的视觉指示器(例如,如果我收到HTTP 500显然什么是错的)
  2. 我在我的应用程序服务器的日志文件中查找任何警告,错误或堆栈跟踪
  3. 我查看Firebug的网络控制台以查看HTTP响应中是否有任何错误;这往往会不时发生(并没有在日志中显示!)
  4. 我通过在窗体中包含p:message并检查它是否为验证错误并进行显示。

对我来说,检查错误是一个4步骤的工作流程。有没有更好的方法来做到这一点?理想情况下,如果所有这些错误都可以记录到单个日志中,那就太好了。这是DIY还是有一些标准的做法呢?

谢谢!

+1

JSF/PrimeFaces确实燕子Ajax请求例外。当项目阶段设置为“开发”时,只有莫哈拉显示一个纯粹的警报。 PrimeFaces完全忽略它。但是,您可以使用异常处理程序让它们完整显示缺省错误页面。另请参见[完整的ajax异常处理程序](http://balusc.blogspot.com/2012/03/full-ajax-exception-handler.html)。 – BalusC 2012-03-19 20:06:32

回答

3

没有任何东西可以给你所描述的东西,因为这些都是发生在不同层次上的情况。

  1. 这通常是因为一个未处理的异常在调用栈上产生了。如果你改进了异常处理的代码,那么应该捕获并记录这些情况。

  2. 改进的异常处理和记录在所有应用程序层将有助于捕获应用程序服务器上单个日志文件中的所有错误和异常。

  3. Firebug捕获异步回发中的网络错误以及Javascript异常。这完全是客户端的问题,因为服务器只是派生标记。在传播到Firebug之前捕获所有Javascript异常并向服务器发送异步错误报告以供服务器记录是可能的。这不应该太难实施。

  4. 同样,更好地记录您的验证器方法将能够将这些信息放入应用程序服务器日志中,以便将所有这些信息放在一个地方。

底线是,这是他们成为一个非问题对谁学习如何直观地包括在他们的应用提供良好的仪表代码的开发人员的所有情况。

1

嗨,我也在开发一个使用jsf和primefgaces的应用程序。我之前也遇到过这个问题。现在我正在使用log4j将所有错误/异常/疑惑记录到一个文件中。它也很容易使用它。你可以看看它,它可以解决你的问题。