#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 обрабатывает их все сразу, я думаю, что я хорош.