如何 enable/setup log4j for oozi java 工作流?

How to enable/setup log4j for oozi java workflows?

我是 运行 Oozie Java 工作流(jar 文件在 HDFS 中),我想向我的应用程序添加日志记录功能。有人知道怎么做吗?我应该把我的 "log4j.properties" 文件放在哪里?如何使 log4j 将日志输出到 HDFS 中的某个位置?

查看 this documentation,您可以尝试在您的 oozie 目录中添加 oozie-log4j.propertiesworkflow.xml 所在的位置)。

默认设置如下:

log4j.appender.oozie=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.oozie.RollingPolicy=org.apache.oozie.util.OozieRollingPolicy
log4j.appender.oozie.File=${oozie.log.dir}/oozie.log
log4j.appender.oozie.Append=true
log4j.appender.oozie.layout=org.apache.log4j.PatternLayout
log4j.appender.oozie.layout.ConversionPattern=%d{ISO8601} %5p %c{1}:%L - %m%n
log4j.appender.oozie.RollingPolicy.FileNamePattern=${log4j.appender.oozie.File}-%d{yyyy-MM-dd-HH}
log4j.appender.oozie.RollingPolicy.MaxHistory=720

它还概述了以下限制:

In order for Oozie logging to work 100% correctly, the following restrictions must be observed (described below and in the oozie-log4j.properties file):

  • Oozie 使用的 appender 必须命名为 "oozie"(即 log4j.appender.oozie)

  • log4j.appender.oozie.RollingPolicy.FileNamePattern 必须以 "-%d{yyyy-MM-dd-HH}.gz""-%d{yyyy-MM-dd-HH}" 结尾。如果它以 ".gz" 结尾,旧日志将在滚动时被压缩

  • log4j.appender.oozie.RollingPolicy.FileNamePattern 必须以 log4j.appender.oozie.File

  • 的值开头