2016-05-14 185 views
0

最近,我被赋予了在开发和生产环境中增强部署在WebSphere 6.0上的Java应用程序的任务。该代码有一个错误。它正在通过错误的名称访问数据库列。代码捕获异常,执行printStackTrace()并继续。WebSphere日志中没有出现异常堆栈跟踪

在开发环境中,我看到WebSphere日志中异常的堆栈跟踪,但在生产环境的日志中没有看到它们。

我在生产环境中对WebSphere没有任何管理员权限。我只能看到日志文件。为了确保我在两种环境中运行相同的代码,我从生产环境(从管理服务器的组中)获得了EAR文件,并将其部署到开发环境中。

我的问题是,如果我在两种环境中运行相同的代码,是否可以在一个环境中看到日志中的堆栈跟踪而不是另一个环境中的堆栈跟踪?

感谢

+0

这是一个可能的解释http://stackoverflow.com/a/3010106/3215527 – wero

+2

如果出现相同的条件下,这是不可能的一些服务器配置禁止堆栈跟踪。 – covener

+0

您可以访问的日志不是正确的日志,而是另一台服务器?它是一个集群环境吗? – DanielBarbarian

回答

0

环境是整个系统的行为相当的决定因素,因此,如果您直接从PROD环境采取.ear文件,你肯定不能在任何其他环境中部署它(例如DEV或UAT),无需在.ear文件和WebSphere中进行多个配置更改。

不过,我认为这里的问题可能是日志级别配置。通常在较低的环境中,我们拥有较高的日志级别配置,如“all”或“finest”,以便调试所有错误,因此您可以看到许多不同的日志输入。另一方面,我们有生产环境,应用程序应该在较低环境中进行多次测试后正确运行,因此日志级别通常会减少到“致命”,“严重”或“警告”,以便只获得重要的错误,而不会干扰应用程序/系统性能。 在这两种环境中检查日志级别配置并对它们进行比较,它肯定会有所不同(也许你需要向生产中的管理员权限的人请求帮助,如果你想改变它,则需要更少的帮助)。

与此同时,6.0的WebSphere是出于支持,因为2010年9月30日;)

相关问题