我正在运行Oozie Java工作流程(jar文件在HDFS中),我想在我的应用程序中添加日志记录功能。有谁知道怎么做?我应该把我的" log4j.properties"放在哪里?文件?如何让log4j将日志输出到HDFS中的某个位置?
答案 0 :(得分:1)
查看this documentation,您可以尝试在oozie目录中添加oozie-log4j.properties
(其中workflow.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
它还概述了以下限制:
为了使Oozie日志记录100%正确工作,必须遵守以下限制(如下所述和oozie-log4j.properties文件中所述):
Oozie使用的追加者必须命名为“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