Как войти в систему из Java UDF, установленной в DB2 - PullRequest
0 голосов
/ 28 ноября 2018

У меня установлен JAVA UDF в DB2 10.5, и все работает нормально.Но у меня есть несколько блоков catch, в которых я хотел бы записать некоторую информацию вместе с трассировкой стека.Вопрос в том, как мне их зарегистрировать и в каком файле журнала db2 будет напечатана эта информация.

Я попытался использовать System.out.println и заглянул в файл журнала db2diag, но там ничего не было напечатано.

1 Ответ

0 голосов
/ 28 ноября 2018

В java-подпрограмме для Db2-LUW вывод System.out.println никогда не будет отображаться в диагностическом файле Db2, и если вы мудры, вам не следует форсировать это.

Существует более одногоспособ справиться с этим.

Один из способов состоит в том, чтобы ваша подпрограмма перенаправила стандартный вывод перед вызовом System.out.println.Пример

System.setOut(new PrintStream(new FileOutputStream("java_routine_log.txt")));

В приведенном выше примере имя файла не определено, поэтому по умолчанию оно будет отображаться в каталоге диагностики экземпляра (по умолчанию ~ $ {DB2INSTANCE} / sqllib / db2dump).

ДругоеОдним из способов является использование настраиваемой среды ведения журналов, которая позволяет вам контролировать места ведения журналов и другие детали для трассировки.

Существуют и другие способы.

...