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

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. STM32是否可以跑linux

    操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS... CPU有两种 带MMU的 ...

  2. fsn文件解析(C#)

      public class FsnBizNet     {         private static int count;         public static int parseInt( ...

  3. 如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(一)

    大家知道,将ES6代码编译为ES5时,我们常用到Babel这个编译工具.大家参考一些网上的文章或者官方文档,里面常会建议大家在.babelrc中输入如下代码: { "presets" ...

  4. web前端响应式

    一.响应式概述: 不仅仅是通过屏幕尺寸来动态改变页面容器的宽度等,完整的响应式网站的实现需要考虑到这些问题:响应式布局.响应式html和css.响应式媒体.响应式javascript. 二.移动端布局 ...

  5. 转,SelectNodes + XPath

    XPath 是 XML 的内容,这里 SelectNodes 是 C# 中 XmlDocument 或 XmlNode 的一个方法.SelectNodes 使用 XPath 来选取节点. 重要语法 S ...

  6. Linux查找含有某字符串的所有文件

    转自:http://151wqooo.blog.51cto.com/2610898/1162118 如果你想在当前目录下 查找"hello,world!"字符串,可以这样: gre ...

  7. Logstash5.0.X离线安装插件报错,仍然提示无法联网

    本人最初将此解决方案发布在 ELK中文社区 http://elasticsearch.cn/question/1046 由于生产环境无法连接互联网,所有再一台联网机器上将所有插件做了 pack 拖到生 ...

  8. 将dataGridView数据转成DataTable

    如已绑定过数据源: DataTable dt = (dataGridView1.DataSource as DataTable) 如未绑定过数据源: public DataTable GetDgvTo ...

  9. [CF442A] Borya and Hanabi (暴力bitmask)

    题目链接:http://codeforces.com/problemset/problem/442/A 题目大意:给你n张卡片,你知道这n张卡片都是什么,但是不知道他们的位置.你每次可以请求朋友指出一 ...

  10. Python中__init__方法

      注意1.__init__并不相当于C#中的构造函数,执行它的时候,实例已构造出来了. 1 2 3 4 5 class A(object):     def __init__(self,name): ...