本文共 654 字,大约阅读时间需要 2 分钟。
kettle job中的JavaScript如何获取同一个job中SQL步骤的执行语句并让执行语句记录在日志中呢?首先写日志需要用到,其次是利用java反射机制获取执行的sql。
如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var sqlObj = getJobStep( "SQL" ); var sql = sqlObj.environmentSubstitute(sqlObj.getSQL()); var logWriter = org.pentaho.di.core.logging.LogWriter.getInstance(); logWriter.logBasic(parent_job.getJobname(), "作业SQL语句打印===================>" +sql); true ; function getJobStep(stepName){ var jobMeta = parent_job.getJobMeta(); var jobStep = jobMeta.findJobEntry(stepName, 0, false ); var stepObj = jobStep.getEntry(); return stepObj; } |
这样就可以将日志优雅地记录在日志文件中了。