Hadoop自定义输出日志log4j

本文使用的是Hadoop2,需要在etc/hadoop/log4j.properties中进行相关设置。

打开log4j.properties,配置如下:
#为写日志的操作取个名字,MyLog。用来在程序中获取该日志的实例。并指定输出方式为自定义的OUT
log4j.logger.MyLog=DEBUG,OUT
#设置OUT的输出方式为输出到文件
log4j.appender.OUT=org.apache.log4j.FileAppender
#设置文件路径
log4j.appender.OUT.File=${hadoop.log.dir}/MyLog.log
#设置文件的布局
log4j.appender.OUT.layout=org.apache.log4j.PatternLayout
#设置文件的格式
log4j.appender.OUT.layout.ConversionPattern=%d{ISO8601} %p %c:%m%n
#设置该日志操作不与父类日志操作重叠
log4j.additivity.MyLog=false


然后复制该文件到集群中的其他节点上,之后重启hadoop集群。

在程序中添加
private static final Log mylog =LogFactory.getLog("MyLog");
mylog.info("输出内容");


运行程序,可以在hadoop_home/logs/下看到MyLog.log文件。

你可能感兴趣的:(hadoop,log4j,日志)