log4j 无法使用 FileAppender 收集子 Talend 作业的日志
log4j not able to collect logs for child Talend jobs with FileAppender
我正在使用 Talend DI 7.1 及其涉及的 log4j 1.2。
我的 Talend 作业有 Master/Parent 个作业:M_1 和两个子作业:C_11 和 C_12(使用 tRunJob 从 M_1 调用)。
在配置 log4j 和使用 DailyRollingFileAppender 中:
- 如果文件名参数是硬编码,例如“/tmp/talend_log4j_logs.log”。
- 正在正确创建和更新此文件。
- 所有 M_1、C_11、C_12 的日志都已正确捕获。
在作业可执行项目属性中参数化文件名路径时出现问题。 IE。:
M_1_run.sh 有一个参数,比如 LOG_FILE="/tmp/talend_log4j_logs.log" ,这就像
java-DLOG_FILE=$LOG_FILE.
- 现在当这个 $LOG_FILE 用于 DailyRollingFileAppender“文件”参数值时。
- 此参数适用于父作业 M_1,但无法收集有关 C_11 & C_12.
的任何信息
求推荐。
在 shell Talend studio 的 edit/project 设置中,您可以使用以下:
导出_java_options="-DLogFileName=$LOGDIR/${talend.job.name}.log"
这将执行系统 属性 设置以设置日志文件路径
我正在使用 Talend DI 7.1 及其涉及的 log4j 1.2。
我的 Talend 作业有 Master/Parent 个作业:M_1 和两个子作业:C_11 和 C_12(使用 tRunJob 从 M_1 调用)。
在配置 log4j 和使用 DailyRollingFileAppender 中:
- 如果文件名参数是硬编码,例如“/tmp/talend_log4j_logs.log”。
- 正在正确创建和更新此文件。
- 所有 M_1、C_11、C_12 的日志都已正确捕获。
在作业可执行项目属性中参数化文件名路径时出现问题。 IE。: M_1_run.sh 有一个参数,比如 LOG_FILE="/tmp/talend_log4j_logs.log" ,这就像 java-DLOG_FILE=$LOG_FILE.
- 现在当这个 $LOG_FILE 用于 DailyRollingFileAppender“文件”参数值时。
- 此参数适用于父作业 M_1,但无法收集有关 C_11 & C_12. 的任何信息
求推荐。
在 shell Talend studio 的 edit/project 设置中,您可以使用以下:
导出_java_options="-DLogFileName=$LOGDIR/${talend.job.name}.log"
这将执行系统 属性 设置以设置日志文件路径