Как заставить Mule 3 отображать полные трассировки стека

#mule

#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
  

Ответ №1:

Как объяснено здесь, аргументы передаются из командной строки в Mule таким образом:

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

т.е. с префиксом -M.

Комментарии:

1. Как это сделать, если вы используете Mule из Mule Studio?

2. Добавьте -Dmule.verbose.exceptions=true в параметры виртуальной машины средства запуска вашего приложения.

Ответ №2:

По умолчанию Mule отфильтровывает некоторые внутренние ссылки на классы из трассировок стека для получения более удобочитаемого вывода.вы можете перейти по указанной ссылке для правильного понимания ..https: //docs.mulesoft.com/mule-user-guide/v / 3.7/настройка-mule-stacktraces

Ответ №3:

Я знаю, что вопрос больше связан с тем, как настроить подробное описание исключений в Mule Studio, но если вы также хотите настроить это непосредственно на сервере Mule ESB, вы можете добавить wrapper.java.additional.n entries в файл wrapper.conf в каталоге /conf в каталоге установки Mule. Этот файл wrapper.conf содержит все параметры, отправленные в Mule во время запуска:

т.е. wrapper.java.additional.6=-Dmule.verbose.exceptions=true

Просто убедитесь, что индекс оболочки.java.additional.параметр не используется для другого.

Передать аргументы в командной строке, добавив переключатель -M.

т.е. MULE_HOME/bin/mule -M-Dmule.verbose.exceptions=true

Для развертывания Anypoint Studio:

Щелкните правой кнопкой мыши на корне проекта в Studio, выберите «Запуск от имени» -> «Запустить конфигурацию» -> вкладка «Аргумент», добавьте аргументы в окне аргументы виртуальной машины,

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

Для запуска Mule как приложения Maven:

Вы можете передать аргумент командной строки как

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

Для развертывания Cloudhub:

Вы можете передать аргумент командной строки, добавив их в качестве свойств в разделе Развертывание -> Настройки -> Свойства