log4j无法使用FileAppender收集Talend子作业的日志



我正在使用Talend DI 7.1&其调用log4j 1.2。

My Talend作业具有主/父作业:M_1&两个子作业:C_11&C_12(使用tRunJob从M_1调用(。

在log4j&使用DailyRollingFileAppender:

  • 如果文件名param是硬编码的,比如说,"tmp/talend_log4j_logs.log";。
    • 正在创建此文件&正确翻转
    • 所有M_1、C_11、C_12的日志都被正确捕获

当在作业可执行项目属性中参数化Filename的路径时,会出现问题。即:M_1_run.sh有一个参数,比如LOG_FILE="tmp/talend_log4j_logs.log",这就像java-DLOG_FILE=$LOG_FILE。

  • 现在当这个$LOG_FILE在DailyRollingFileAppender中使用时"文件";param值
  • 此参数适用于父作业M_1,但无法收集有关C_11&C_12

请提出建议。

在编辑/项目下的Talend studio的shell设置中,您可以使用以下内容:

export_java_options="-DLogFileName=$LOGDIR/${talend.job.name}.log";

这将进行系统属性设置以设置日志文件路径

最新更新