kettle job如何利用java的反射机制获取执行的sql语句

简介:

kettle job中的JavaScript如何获取同一个job中SQL步骤的执行语句并让执行语句记录在日志中呢?首先写日志需要用到job中JavaScript写日志的方法,其次是利用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;
}

这样就可以将日志优雅地记录在日志文件中了。






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4530497.html,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
网络协议 算法 Java
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
1月前
|
XML Java 数据库连接
谈谈Java反射:从入门到实践,再到原理
谈谈Java反射:从入门到实践,再到原理
60 0
|
1月前
|
Java 关系型数据库 MySQL
在Java的反射中,Class.forName和ClassLoader的区别
在Java的反射中,Class.forName和ClassLoader的区别
35 3
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
38 0
|
4天前
|
监控 Java 开发者
掌握 Java 反射和动态代理
【4月更文挑战第19天】Java反射和动态代理提供强大功能和灵活性。反射允许运行时检查和操作类,获取类信息、动态调用方法,但可能带来性能损失和降低代码可读性。动态代理则用于创建代理对象,实现透明性和横切关注点分离,常用于日志、权限检查等。两者结合能实现更复杂功能。掌握这些技术能提升代码的灵活性和可扩展性,但也需注意性能和可读性。通过学习和实践,能更好地构建高效软件系统。
|
11天前
|
Java
代码的魔法师:Java反射工厂模式详解
代码的魔法师:Java反射工厂模式详解
23 0
|
14天前
|
安全 Java
java反射篇
java反射篇
|
15天前
|
存储 Java
java反射——设计框架的灵魂
java反射——设计框架的灵魂
|
21天前
|
Java
Java通过反射获取类调用方法
Java通过反射获取类调用方法
18 0

热门文章

最新文章