Как зафиксировать исключение nullpointerexception, проблемы с подключением к ftp через лог / выходной файл talend job

#java #exception #talend #jobs #flow

#java #исключение #talend #Вакансии

Вопрос:

введите описание изображения здесьМоя работа talend сейчас работает отлично, но я хотел бы вызвать некоторые базовые проверки качества и установить их, чтобы сразу зафиксировать ошибку без каких-либо проблем.Итак, для этого я собираюсь запланировать выполнение задания ежечасно, и если есть какой-то сбой из-за дискового пространства, проблемы с подключением к FTP, ошибки из-за имени синтаксического анализа файла (путем разделения имени, которое я загружу в БД) — так что, если я столкнусь с java IOException **** nullpointerexceptionили что-то в этом роде.Как мне записать ошибку с консоли в файл журнала в папке из задания talend, которое продолжает работать в фоновом режиме.

Это код, который я использую для записи вывода консоли в файл.однако я не могу зафиксировать ошибочные случаи, пожалуйста, посоветуйте, как это сделать:

 java.io.File file = new java.io.File("C:/Users/hsivakumar/Desktop/tests/output.txt");

java.io.PrintStream ps = new java.io.PrintStream(new java.io.FileOutputStream(file));

//java.io.File outputFileErr = new java.io.File("C:/Users/hsivakumar/Desktop/tests/outputerr.txt");

System.setOut(ps);

System.setErr(outputFileErr);
  

Я получаю сообщение об ошибке при использовании setErr

Ответ №1:

Вам не нужно кодировать в Talend, чтобы перехватывать и регистрировать исключения. Просто удалите tLogCatcher и свяжите его вывод с файловым компонентом.

введите описание изображения здесь

tLogCatcher перехватит исключение и заполнит несколько полей.

введите описание изображения здесь

tFileOutputDelimited создаст ваш файл журнала.

введите описание изображения здесь

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

1. Я тоже использовал то же самое, но для любой ошибки синтаксического анализа файла, когда я сталкиваюсь с такими ситуациями, как «неразличимые данные», когда имя файла не в правильном формате, мне было интересно, нужно ли мне создать специальный блок исключений try, catch в моем коде tjava. Но если tlogcatcher обрабатывает их все сразу, я думаю, что я хорош.