版权声明:本文为博主原创文章,未经博主允许不得转载。

1、依赖jar包导入,通过maven管理,pom文件增加如下配置:

  1. <!-- log4j输出日志到flume的appender依赖包 -->
  2. <dependency>
  3. <groupId>org.apache.flume.flume-ng-clients</groupId>
  4. <artifactId>flume-ng-log4jappender</artifactId>
  5. <version>1.6.0</version>
  6. </dependency>
  1. <!-- log4j 依赖包-->
  2. <dependency>
  3. <groupId>log4j</groupId>
  4. <artifactId>log4j</artifactId>
  5. <version>1.2.17</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.slf4j</groupId>
  9. <artifactId>slf4j-api</artifactId>
  10. <version>1.7.5</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.slf4j</groupId>
  14. <artifactId>slf4j-log4j12</artifactId>
  15. <version>1.7.5</version>
  16. </dependency>

2、log4j配置文件:

2.1 log4j.properties文件配置:

  1. #log4j输出到flume单机模式配置
  2. log4j.appender.loadbalance = org.apache.flume.clients.log4jappender.Log4jAppender
  3. log4j.appender.loadbalance.hostname = hadoop011
  4. log4j.appender.loadbalance.port = 6666
  5. #log4j输出到flume负载均衡方式配置
  6. log4j.appender.loadbalance = org.apache.flume.clients.log4jappender.LoadBalancingLog4jAppender
  7. log4j.appender.loadbalance.Hosts = hadoop011:6666 hadoop012:6666
  8. #log4j.appender.loadbalance.UnsafeMode = true
  9. log4j.appender.out2.MaxBackoff = 30000
  10. #FQDN RANDOM ,default is ROUND_ROBIN
  11. log4j.appender.loadbalance.Selector = RANDOM
  12. log4j.appender.loadbalance.layout=org.apache.log4j.PatternLayout
  13. log4j.appender.loadbalance.layout.ConversionPattern=%m

2.2 XMl方式配置:

  1. <!-- 单机模式 -->
  2. <appender name="FLUME"
  3. class="org.apache.flume.clients.log4jappender.Log4jAppender">
  4. <!-- 定义控制台日志级别入口 -->
  5. <param name="Hostname" value="192.168.12.11" />
  6. <param name="Port" value="6666" />
  7. <layout class="org.apache.log4j.PatternLayout">
  8. <param name="ConversionPattern"
  9. value="%d{yyyy-MM-dd hh:mm:ss,SSS} [%p][%t] %-20.30c{1} %4L %m%n" />
  10. </layout>
  11. </appender>
  12. <!-- 负载均衡方式 -->
  13. <appender name="FLUME"
  14. class="org.apache.flume.clients.log4jappender.LoadBalancingLog4jAppender">
  15. <!-- 定义控制台日志级别入口 -->
  16. <param name="hosts" value="192.168.12.11:6666 192.168.12.12:6666" />
  17. <param name="Selector" value="RANDOM" />
  18. <param name="maxBackoff" value="30000" />
  19. <layout class="org.apache.log4j.PatternLayout">
  20. <param name="ConversionPattern"
  21. value="%d{yyyy-MM-dd hh:mm:ss,SSS} [%p][%t] %-20.30c{1} %4L %m%n" />
  22. </layout>
  23. </appender>

注:以上配置中ip地址均可以使用hostname或域名替代。

flume log4j配置的更多相关文章

  1. Flume学习 & Kafka & Storm 等 & Log4J 配置

    正在学习这篇文章: http://blog.csdn.net/ymh198816/article/details/51998085 和工作中接触的电商.订单.分析,可以结合起来. 开宗明义,这幅图片: ...

  2. Flume+LOG4J+Kafka

    基于Flume+LOG4J+Kafka的日志采集架构方案 本文将会介绍如何使用 Flume.log4j.Kafka进行规范的日志采集. Flume 基本概念 Flume是一个完善.强大的日志采集工具, ...

  3. Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记

    1. 开发环境 1.1. 软件包下载 1.1.1. JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  4. 使用log4j配置不同文件输出不同内容

    敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...

  5. log4j 配置

    给java项目添加log4j日志: 1.下载log4j jar包,放入lib目录, 导入项目中 2.创建log4j.properties 文件  目录 Src 3.在需要使用输出的类中使用 priva ...

  6. log4j配置日志文件log4j.appender.R.File相对路径方法

    方法一. 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs ...

  7. paip.Log4j配置不起作用的解决

    paip.Log4j配置不起作用的解决 1.jar包里的log4j配置 看累挂jar,真的有个" webservices-rt.jar\com\sun\org\apache\xml\inte ...

  8. Log4j配置全说明

    转载:http://zhangjunhd.blog.51cto.com/113473/21014/ 1.Log4j简介 Log4j是Apache的一个开源项目,它允许开发者以任意间隔输出日志信息.Lo ...

  9. 简要log4j配置

    若排版紊乱可查看我的个人博客原文地址 1. 配置效果 下面的log4j日志配置最终能达到的效果是对于全局日志可以根据级别输入到对应级别的日志文件中,注意低级别的日志文件会同时包含高级别的日志信息,例如 ...

随机推荐

  1. CenOS 7 安装wordpress

    1:Centos安装 php和html yum install httpd -y yum install php -y 2:将 wordpress 拖到目录  /var/www/html 3:浏览器访 ...

  2. 承接cardboard外包,unity3d外包(北京动软— 谷歌CARDBOARD真强大)

    手把手教你玩转googlecardboard[不知道在这里发可以不?] 谷歌Google I/O开发者大会于北京时间6月26日0点在美国旧金山举行,谷歌发布了Android L手机系统:Android ...

  3. LeetCode "Wiggle Subsequence" !

    Another interesting DP. Lesson learnt: how you define state is crucial.. 1. if DP[i] is defined as, ...

  4. hadoop2升级的那点事情(详解)

    前言 前阵子,公司的hadoop从hadoop1.02升级到hadoop2.4.1,记录下升级的步骤和遇到的问题,和大家分享,希望别人可以少走一些弯路 技术选型 当前使用版本:     apache ...

  5. flash flex 程序出现错误 Error #2032

    解决思路参考: http://www.cnblogs.com/enjoyprogram/archive/2012/06/21/2557615.html 有可能是这种情况: 状况:在安装flshbuil ...

  6. 错误: 未能从 xmlsocket://127.0.0.1:5840 中加载策略文件

    看看你是否使用了MonsterDebugger,如果是这样的话, 因为那个 MonsterDebugger 没有启动 删掉MonsterDebugger的代码吧

  7. JS 继承总结

    ES里面没有真正的继承,但是能通过某些手段达到继承效果,从而让一个类拥有另外一个类的方法  类 =>构造函数 继承描述某语言环境---魔兽世界 哈!其实我没玩过  魔兽世界里面 有Humen类  ...

  8. Sql Server中Float格式转换字符串varchar方法(转)

    1.[Sql Server](70)  SELECT CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2)))SELECT STR(@testF ...

  9. Python 配置日志

    Python 2.6+ def cfgLogging(): from logging.handlers import RotatingFileHandler console = logging.Str ...

  10. python 核心编程课后练习(chapter 6)

    6-1 #6-1 #help(string) import string str = "helloworld" substr = "h1e" if string ...