我正在使用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";
这将进行系统属性设置以设置日志文件路径