kettle作业中的js如何写日志文件

简介:

在kettle作业中JavaScript脚本有时候也扮演非常重要的角色,此时我们希望有一些日志记录。下面是job中JavaScript记录日志的方式。

job的js写日志的方法。

得到日志输出实例

1
org.pentaho.di.core.logging.LogWriter.getInstance();

按照日志的级别输出:

1
2
3
4
5
6
7
8
9
10
11
12
public  void  logMinimal(String subject, String message, Object... args)
{ println(LOG_LEVEL_MINIMAL, subject, message, args) ; }
public  void  logBasic(String subject, String message, Object... args)
{ println(LOG_LEVEL_BASIC, subject, message, args) ; }
public  void  logDetailed(String subject, String message, Object... args)
{ println(LOG_LEVEL_DETAILED, subject, message, args); }
public  void  logDebug(String subject, String message, Object... args)
{ println(LOG_LEVEL_DEBUG, subject, message, args); }
public  void  logRowlevel(String subject, String message, Object... args)
{ println(LOG_LEVEL_ROWLEVEL, subject, message, args); }
public  void  logError(String subject, String message, Object... args)
{ println(LOG_LEVEL_ERROR, subject, message, args); }

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var  mpType = parent_job.getVariable( "IMPTYPE" );
var  sStart = parent_job.getVariable( "STARTTIME" );
var  sEnd = parent_job.getVariable( "ENDTIME" );
 
var  sdf =  new  java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
var  cal =  new  java.util.Calendar();
 
var  start = sdf.parse(sStart);
cal.setTime(start);
var  month1 = cal.get(cal.MONTH);
 
var  end = sdf.parse(sEnd);
cal.setTime(end);
cal.add(Calendar.DATE, -1);
var  month2 = cal.get(cal.MONTH);
 
var  log = org.pentaho.di.core.logging.LogWriter.getInstance();
 
log.logMinimal( "<周统计做特殊处理>" "是否跨月:startTime-->"  + sStart+  "; endTime-->"  + sEnd +  "; startMonth-->"  + month1 +  ";endMonth-->"  + month2,  "" );
if ((10080 == mpType) && (month1 != month2)){
   var  nextMonthPrefix = parent_job.getVariable( "NEXTMONTABPRE" );
  parent_job.setVariable( "MONTHTABPRE" , nextMonthPrefix);
  log.logMinimal( "<周统计做特殊处理>" "!!!该周跨月!!!MONTHTABPRE-->"  + nextMonthPrefix +  "; startMonth-->"  + month1 +  ";endMonth-->"  + month2,  "" );
}
 
true ;





本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4529957.html,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4天前
|
弹性计算 应用服务中间件 Shell
切割 Nginx 日志文件
【4月更文挑战第28天】
12 0
|
1天前
|
JSON JavaScript 前端开发
使用JavaScript和XLSX.js将数据导出为Excel文件
使用JavaScript和XLSX.js将数据导出为Excel文件
5 0
|
3天前
|
弹性计算 运维 Shell
自动日志文件轮转
【4月更文挑战第30天】
6 0
|
4天前
|
弹性计算 应用服务中间件 Shell
切割Nginx 日志文件
【4月更文挑战第29天】
11 1
|
4天前
|
存储 弹性计算 运维
统计/var/log 有多少个文件
【4月更文挑战第29天】
11 1
|
4天前
|
弹性计算 运维 Shell
|
4天前
|
弹性计算 运维 Shell
清理日志文件
【4月更文挑战第29天】
8 1
|
4天前
|
Rust JavaScript 安全
🚀JS使用Wasm为你的文件MD5计算装上火箭引擎🚀
🚀JS使用Wasm为你的文件MD5计算装上火箭引擎🚀
|
4天前
|
运维 JavaScript Java
Serverless 应用引擎产品使用之阿里云Serverless函数计算中,在Node.js环境中执行jar文件如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
12 0
|
7天前
|
Java 数据安全/隐私保护 开发者
【SpringBoot】讲清楚日志文件&&lombok
【SpringBoot】讲清楚日志文件&&lombok
17 5