Flume接收Log4j日志 发送到控制台

第一步:新建flume.conf配置文件内容如下:

agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1

# Describe/configure source1
agent1.sources.source1.type = avro
agent1.sources.source1.bind = AY1307200004001547efZ
agent1.sources.source1.port = 44446

# Describe sink1
agent1.sinks.sink1.type = logger

# Use a channel which buffers events in memory
agent1.channels.channel1.type = memory
agent1.channels.channel1.capacity = 1000
agent1.channels.channel1.transactionCapactiy = 100

# Bind the source and sink to the channel
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1

第二步:运行命令启动服务 

flume-ng agent --conf-file example.conf --name agent1 -Dflume.root.logger=INFO,console

第三步:java程序src下添加log4j.properties文件 ,内容如下:

log4j.rootLogger=INFO,flume
log4j.appender.flume=org.apache.flume.clients.log4jappender.Log4jAppender
log4j.appender.flume.Hostname=服务器IP地址
log4j.appender.flume.Port=44446

 

代码如下:

  public static void main(String[] args) throws IOException {
            Logger logger = Logger.getLogger(Log4jjjj.class);
            logger.info("987654321");
            logger.info("123456789");
      }
在服务器控制台即可看到日志。

猜你喜欢

转载自xinghaifeng2006.iteye.com/blog/1971786