aaahd 发表于 2017-5-21 14:55:28

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");
      }
在服务器控制台即可看到日志。
页: [1]
查看完整版本: Flume接收Log4j日志 发送到控制台