Pentaho Logging为每行指定Job或Trans

时间:2018-10-10 20:30:07

标签: pentaho kettle

我正在通过Java应用程序运行Pentaho Kettle 6.1。所有Pentaho日志均通过Java应用程序定向,并在Java级别上注销到同一日志文件中。

当作业开始或结束时,日志指示哪个作业正在开始或结束,但是当作业处于运行中时,日志输出仅指示其正在执行的特定步骤,而没有任何指示正在执行哪个作业或事务

这会引起混乱,并且在同时运行多个作业时很难遵循。有人知道在作业名称前添加名称或将其转换为每个日志条目的方法吗?

1 个答案:

答案 0 :(得分:1)

据我所知,我很怀疑,原因很简单:同一转换/作业可能会拆分为在多台计算机上运行,​​由一个以上的用户运行,和/或在不同的作业层次结构中并行启动来电者。

一般的答案是登录数据库(右键单击“参数”,“日志记录”,定义日志记录表以及要记录的内容)。所有日志记录都将与channel_id一起复制到表数据库中。这是一个唯一编号,该编号将归因于每个“运行”,并将来自所有从属作业/转换的所有日志记录信息链接在一起。然后,您可以使用SELECT...WHERE channel_id=...

查看此信息

但是,您可以简化接缝的情况。在终端上连续使用log_intervale(例如2秒)和SELECT TRANSNAME/JOBNAME, LOG_FIELD FROM LOG_TABLE来使用数据库日志记录。

您还可以通过登录特定的表来遵循特定的作业/转换,但这意味着您事先知道要调试的作业/转换。