kettle作业中的js如何写日志文件
在kettle作业中JavaScript脚本有时候也扮演非常重要的角色,此时我们希望有一些日志记录。下面是job中JavaScript记录日志的方式。
job的js写日志的方法。
得到日志输出实例
org.pentaho.di.core.logging.LogWriter.getInstance();
按照日志的级别输出:
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); }
例子:
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;
kettle作业中的js如何写日志文件的更多相关文章
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...
- ZK中使用JS读取客户端txt文件内容问题
最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...
- Log4j写日志文件使用详解
Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合 一.今天在使用commongs-logging.jar和log4j.properties来输出系统日志的时候,发 ...
- .net core 2.0使用NLog写日志文件
原文地址:传送门 之前也看了 linezero 大佬写的教程,但是总是没有成功写入日志文件.按照 曲廉卿 的已成功,以下正文: 最近研究了一下NLog的使用方式,简单的入了一下门. 实现的功能,对于不 ...
- 为何要打印日志?C++在高并发下如何写日志文件(附源码)?
为何要打印日志?让程序裸奔不是一件很快乐的事么? 有些BUG就像薛定谔的猫,具有波粒二象性,当你试图去观察它时它就消失了,当你不去观察它时,它又会出现.当你在测试人员面前赌咒发誓,亲自路演把程序跑一遍 ...
- 在Delphi中通过OLE方式写Excel文件
报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...
- 在sqlserver2005/2008中备份数据库,收缩日志文件
---1.先备份数据库(含日志文件) use myhis go backup database myhis to disk='d:\myhis_rzbak' go ---2.设为简单恢复模式 use ...
- 【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
任务描述 本次集中介绍使用Windows和Linux()搭建本地Redis服务器的步骤,从备份的RDB文件中加载数据,以及如何生成AOF文件和通过AOF文件想已经运行的Redis追加数据. 操作步骤 ...
随机推荐
- Java基础-final变量和普通变量的区别
当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再 ...
- 【BZOJ-2733】永无乡 Splay+启发式合并
2733: [HNOI2012]永无乡 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2048 Solved: 1078[Submit][Statu ...
- [NOIP2008] 提高组 洛谷P1006 传纸条
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...
- Mysql安全配置
相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html ...
- POJ1258Agri-Net(prime基础)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 46811 Accepted: 19335 Descri ...
- std::thread join和detach区别
thread detach, join 线程有两种状态,joinable或者detachable,pthread默认创建的线程是joinable的,也可以指定atrribute创建成一个detacha ...
- Eclipse下搭建Hadoop2.4.0开发环境
一.安装Eclipse 下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse 4.3.1版本下载地址:http://pan.baidu.com/s/1e ...
- eq相等 ne、neq不相等, gt大于, lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 等
eq相等 ne.neq不相等, gt大于, lt小于 gte.ge大于等于 lte.le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 i ...
- 【原创】angularjs1.3.0源码解析之directive
# Angular指令编译原理 前言 angular之所以使用起来很方便,是因为通常我们只需要在html里面引入一个或多个(自定义或内置的)指令就可以完成一个特定的功能(这也是angular推荐的方式 ...
- ES6的promise对象研究
ES6的promise对象研究 什么叫promise? Promise对象可以理解为一次执行的异步操作,使用promise对象之后可以使用一种链式调用的方式来组织代码:让代码更加的直观. 那我们为什么 ...