kettle日誌LogWriter已過時,LogChannelFileWriter當立
阿新 • • 發佈:2020-12-25
kettle版本8.2
使用方式
1.spoon 手動執行
2.kitchen 執行kjb 或者pan執行ktr
3.java程式碼巢狀
日誌
1.在kjb或ktr中配置資料庫
2.自己手動抓取
日誌檔案
1.指令碼執行話加引數 -level:Basic -logfile:$logFile
2.!!本篇文中重點!!
在舊的版本中使用LogWriterlog=LogWriter.getInstance(logfilename,true,3);
但是在新的版本中已過時無法使用,(百度沒有找到解決方案,博主解決問題了寫此記錄下),此時
String logFile="路徑/檔名"; FileObject sharedObjectsFile = KettleVFS.getFileObject(logFile); TransMeta transMeta = new TransMeta(ktrFilePath); Trans trans = new Trans(transMeta); //kettle後臺日誌入檔案 LogChannelFileWriter writer = new LogChannelFileWriter( trans.getLogChannelId(), sharedObjectsFile, false ); //在該日誌檔案中寫入別的日誌 LoggingRegistry.getInstance().getLogChannelFileWriterBuffer( trans.getLogChannelId() ).addEvent(new KettleLoggingEvent( "Log message", System.currentTimeMillis(), LogLevel.BASIC ) ); writer.startLogging();//必須有 trans.execute(null); trans.waitUntilFinished(); writer.stopLogging();//必須有
程式碼依賴:
標紅的是資料庫驅動,請忽略