kettle中给ktr设置日志表需要注意的细节
目的,无论是本地的.ktr文件或者是资源库的ktr模型,只要模型被调用运行的日志就保存到一张日志表,当模型在外部调用出错时,方便查看日志文件查找原因,话不多说,直接入主题;
step1:打开ktr选择ktr属性:
step2:选择日志选项
注意点:
1:最左边,四个选项Transformation,Step,Performance,logging channels代表四个不同的日志设置,选择Transformation即可;
1:自己选择DBconnection,表名自定义;
2:注意下面的field是日志表的结构,但是此时不要陷入一个误区,初次设置日志表,表在数据库是没有的,需要我们初始化表;初始化表并不是代表要我们自己手工去数据库按照这些字段创建表,首次设置我们只需要选择DB,定义表名然后点击SQL如下图:
工具自动给我们按照我们定义的表名写好了SQL,里面还包括创建索引,如果不需要手工这里把创建索引的SQL删除就好,仅仅只创建表结构,因为索引很耗空间。然后我们点击执行就好了,表创建成功。如果再次点击执行会报错,每个模型执行一次就好,以后每执行一次日志表舅会创建一条新记录,记录该次执行的结果。
执行ktr后查看日志数据库:
我们这里贴出log_field字段的内容
2013/05/23 14:31:59 - test - 为了转换解除补丁开始 [test]
2013/05/23 14:31:59 - 表输出.0 - Connected to database [output_dbconnection] (commit=1000) 2013/05/23 14:31:59 - 表输入.0 - Finished reading query, closing connection. 2013/05/23 14:31:59 - 表输入.0 - 完成处理 (I=4, O=0, R=0, W=4, U=0, E=0 2013/05/23 14:31:59 - 表输出.0 - 完成处理 (I=0, O=4, R=4, W=4, U=0, E=0 END
可以看出这个字段的内容就是在spoon里面执行ktr时控制台的日志输出的内容类似