我有一个tLogRow组件,它记录tSetGlobalVar和tContextDump的输出。我已经导出了这个作业,在zip文件中我找到了一个log4j,这让我觉得它正在将它用于tLogRow组件。现在,我的问题是如何指定tLogRow组件的日志级别?因为我只想看到它登录WARN或DEBUG级别。
对于我的tLogRow组件,我检查过"用log4j"打印内容。
提前谢谢!
答案 0 :(得分:1)
这不是tLogRow组件的用例,它只是用于向控制台显示流。使用log4j
的复选框不会更改输出的内容,它将改变写入的api。要更改Talend中log4j
的设置,您可以转到屏幕的左上角,菜单file
然后edit the project properties
,然后您会找到此屏幕:
答案 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
以外的不同子工作时设置的值。