loh4j整合flume(log4jsource)

本文介绍如何配置Flume收集日志,并通过Log4j将日志发送到Flume。具体步骤包括配置Flume的agent、channel、source及sink,以及在Log4j中配置Flume Appender。此外,还提供了Maven依赖和测试类示例。

一、配置启动flume

    ①flume的配置文件  conf/flume-conf.properties(这个文件一般是flume-conf.properties.default),复制修改后缀即可;

    配置文件如下:

    agent1.channels = ch1
    agent1.sources = avro-source1
    agent1.sinks = log-sink1


    # 定义channel
    agent1.channels.ch1.type = memory    #mem channel


    # 定义source
    agent1.sources.avro-source1.channels = ch1
    agent1.sources.avro-source1.type = avro        #avro source
    agent1.sources.avro-source1.bind = 0.0.0.0
    agent1.sources.avro-source1.port = 41414


    # 定义sink
    agent1.sinks.log-sink1.channel = ch1
    agent1.sinks.log-sink1.type = logger                #logger sink

    启动flume

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

二、log4j的配置

    ①在log4j.properties文件中添加flume appender

    log4j.rootLogger=INFO,flume   #日志级别,info和flume

    log4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppender
    log4j.appender.flume.Hostname = 192.168.57.133    #flume地址
    log4j.appender.flume.Port = 41414                          #flume source监听的端口
    log4j.appender.flume.UnsafeMode = true
    log4j.appender.flume.layout=org.apache.log4j.PatternLayout 
    log4j.appender.flume.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

三、测试

    在maven中添加flume appender依赖

<dependency>
<groupId>org.apache.flume.flume-ng-clients</groupId>
<artifactId>flume-ng-log4jappender</artifactId>
<version>1.6.0</version>
</dependency>



    编写简单的测试类:

    

public class Log4jTest {
	Logger logger = LoggerFactory.getLogger(Log4jTest.class);	/**
	 * 测试flume
	* @Title: flumeTest 
	* @Description: TODO
	* @param @throws Exception    
	* @return void    
	* @throws
	 */
	@Test
	public void flumeTest() throws Exception {
		while(true){
			logger.info("spider", System.currentTimeMillis());
			try {
				Thread.sleep(1000);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
	}



    运行测试类,可以看到flume在控制台的输出

    

转载于:https://my.oschina.net/u/780876/blog/603731

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值