贴主要的代码

KettleEnvironment.init();
JobMeta jm = new JobMeta(dirPath + File.separator + filename, null);
Job job = new Job(null, jm);
if (params != null) {
   Iterator<Map.Entry<String, String>> entries = params.entrySet().iterator();
   while (entries.hasNext()) {
      Map.Entry<String, String> entry = entries.next();
      job.setVariable(entry.getKey(), entry.getValue());
job.start();
job.waitUntilFinished();
if(job.getErrors()>0){//执行失败,写入日志
             List<JobEntryResult> jobEntryResults = job.getJobEntryResults();
             LoggingBuffer loggingBuffer = KettleLogStore.getAppender();
             StringBuffer stringBuffer = new StringBuffer();
             jobEntryResults.forEach(jobEntryResult -> { //获取job任务中 多个转化出错的日志
                 if(jobEntryResult.getResult().getNrErrors()>0){
                     StringBuffer logTextBuffer = loggingBuffer.getBuffer(jobEntryResult.getLogChannelId(), false);
                     stringBuffer.append(logTextBuffer);
            //记录日志到文件中 模拟代码
             WriterAndReadUtil.write(stringBuffer.toString(),logFilePath, DateUtil.getCurrentDay("yyyyMMdd"));
                    java 调用kettle 记录job里面转化报错日志贴主要的代码KettleEnvironment.init();JobMeta jm = new JobMeta(dirPath + File.separator + filename, null);Job job = new Job(null, jm);if (params != null) {   Iterator&lt;Map.Entry&lt;String, String&gt;&gt; entries = params.entr
				
kettle执行的过程中,如果遇到错误,kettle会停止运行。在某些时候,并不希望kettle停止运行,这时候可以使用错误处理(Step Error Handling)。错误处理允许你配置一个步骤来取代出现错误时停止运行一个转换,出现错误的记录行将会传递给另一个步骤。在Step error handling settings对话框里,需要设置启用错误处理。 下面例子中读取postgres
kettle不管是在job还是转换时出错之后如果没有做错误处理那么所有的程序都会停止,所以在设置发送邮件时只设置一个在运行出错时就不会收到邮件。 作业的设置如下:当转换正常时程序会执行发送邮件3不执行错误时发送邮件,报错时执行的是错误时发送邮件。 正常和错误的发送邮件设置一样,节点链接方式改为错误时执行即可。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ueq3gYv-1598436367210)(https://imgblog.csdnimg.cn/2020
报错信息如下: 2020/07/29 13:04:41 - Spoon - Running transformation using the Kettle execution engine 2020/07/29 13:04:41 - Spoon - 转换已经打开. 2020/07/29 13:04:41 - Spoon - 正在打开转换 [jobs]... 2020/07/29 13:04:41 - Spoon - 开始执行转换. 2020/07/29 13:04:42 - jobs - 为了转换解除补丁开
一点寒芒先至: LoggingBuffer loggingBuffer = KettleLogStore.getAppender(); StringBuffer logTextBuffer = loggingBuffer.getBuffer(trans.getLogChannelId(), false); 非常棒,完美解决了我的问题!表情包 启动eclipse时提示org.osgi.framework.BundleException Flickor: 终于出现了个有效的方法,哭了 启动eclipse时提示org.osgi.framework.BundleException 贰拾、肆: 有用,我删掉那三个文件之后重启可以了。。赞一个~~ 使用idea工具 junit 测试错误 junit/textui/ResultPrinter 解决方法 梦想橡皮擦: 好文章!!!!