如何使Mule 3显示完整的堆栈跟踪

时间:2011-10-24 18:21:53

标签: mule

我有一个例外,我得到了这个缩短的痕迹:

Root Exception stack trace:
java.sql.SQLException: Invalid column name
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3677)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2749)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:494)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

然后我把它放在“ log4j.properties ”中,但没有帮助:

log4j.logger.org.mule=DEBUG

我也失败了第二个建议(我怀疑我做得不对):

$ ./mule -Dmule.verbose.exceptions=true

3 个答案:

答案 0 :(得分:8)

正如here所解释的那样,参数从命令行传递到Mule:

$ ./mule -M-Dmule.verbose.exceptions=true

即。以 -M 为前缀。

答案 1 :(得分:1)

默认情况下,Mule会从stacktraces中过滤掉一些内部类引用,以产生更易读的输出。您可以按照给定的链接进行正确理解。https://docs.mulesoft.com/mule-user-guide/v/3.7/configuring-mule-stacktraces

答案 2 :(得分:0)

我知道问题与如何在Mule Studio中配置详细信息有关,但如果您也想直接在Mule ESB服务器中配置,则可以将wrapper.java.additional.n entries添加到在Mule安装目录下的 / conf 目录中的wrapper.conf 文件。这个wrapper.conf包含在开始时发送给Mule的所有参数:

即。 wrapper.java.additional.6=-Dmule.verbose.exceptions=true

只需确保 wrapper.java.additional。参数的索引不用于其他参数。

通过添加-M开关在命令行传递参数。

即。 MULE_HOME/bin/mule -M-Dmule.verbose.exceptions=true

对于Anypoint Studio部署:

右键单击Studio中的Project Root,选择" Run As" - > "运行配置" - > "参数"选项卡,将参数附加到VM参数窗口

i.e.  -XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true

将Mule作为Maven应用程序运行:

您可以将命令行参数作为

传递
i.e. mvn package -Dmule.verbose.exceptions=true

对于Cloudhub部署:

您可以通过在部署中将它们添加为属性来传递命令行参数 - >设置 - >属性部分