talend - 日志级别tLogRow - log4j

时间:2017-03-15 06:46:36

标签: talend

我有一个tLogRow组件,它记录tSetGlobalVar和tContextDump的输出。我已经导出了这个作业,在zip文件中我找到了一个log4j,这让我觉得它正在将它用于tLogRow组件。现在,我的问题是如何指定tLogRow组件的日志级别?因为我只想看到它登录WARN或DEBUG级别。

对于我的tLogRow组件,我检查过"用log4j"打印内容。 enter image description here

提前谢谢!

2 个答案:

答案 0 :(得分:1)

这不是tLogRow组件的用例,它只是用于向控制台显示流。使用log4j的复选框不会更改输出的内容,它将改变写入的api。要更改Talend中log4j的设置,您可以转到屏幕的左上角,菜单file然后edit the project properties,然后您会找到此屏幕:

talend log4j project

答案 1 :(得分:1)

正如上面提到的@ 54l3d,tLogRow组件似乎不是使用log4j进行日志记录的理想组件。我通过tJava实现了这一点:

org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
logger.debug("MY_CONTEXT_NAME: " + context.MY_CONTEXT_NAME);
logger.debug("GLOBAL MAP paramA: " + globalMap.get("paramA"));

对于globalMap的值记录,请注意,如果执行日志的tJava组件与tSetGlobalVar位于同一个子目录中,则您设置的值将不会是立即反映。我只能记录设置在tSetGlobalVar以外的不同子工作时设置的值。