资源简介
使用slf4j配置kafkaAppender写入日志到kafka列队
支持日志解析+过滤等扩展接口
代码片段和文件信息
package cn.rmt.logback.kafka;
import java.util.Iterator;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.spi.AppenderAttachableImpl;
import cn.rmt.logback.kafka.encoder.IKafkaEncoder;
import cn.rmt.logback.kafka.producer.KafkaProducerFactory;
public class KafkaAppender extends KafkaAppenderConfig{
private static ExecutorService exec = Executors.newFixedThreadPool(10);
private final AppenderAttachableImpl aai = new AppenderAttachableImpl();
protected IKafkaEncoder encoder = null;
//完整的一条logs数据 es的field名称
public static String MSG_FULL_DATA_KEY = “DATA“;
public KafkaAppender(){
}
public void setEncoder(IKafkaEncoder layout) {
this.encoder = layout;
}
@Override
public void start() {
//加载初始化参数
if( !checkPrerequisites() ){
addError(“kafka appender 初始化参数加载失败...“);
}
//初始化 produce
new KafkaProducerFactory(producerConf).start();
super.start();
}
@Override
public void addAppender(Appender newAppender) {
aai.addAppender(newAppender);
}
@Override
public Iterator> iteratorForAppenders() {
return aai.iteratorForAppenders();
}
@Override
public Appender getAppender(String name) {
return aai.getAppender(name);
}
@Override
public boolean isAttached(Appender appender) {
return aai.isAttached(appender);
}
@Override
public void detachAndStopAllAppenders() {
aai.detachAndStopAllAppenders();
}
@Override
public boolean detachAppender(Appender appender) {
return aai.detachAppender(appender);
}
@Override
public boolean detachAppender(String name) {
return aai.detachAppender(name);
}
@Override
protected void append(E e) {
final String payload = encoder.doEncode(e);
//发送消息到kafka
exec.execute( new Runnable() {
@Override
public void run() {
KafkaProducerFactory.getKafkaTemplate().sendDefault(payload);
}
});
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-02 10:30 kafka\
目录 0 2017-03-02 10:30 kafka\common\
文件 1270 2017-02-22 11:57 kafka\common\AnalysisPattern.java
文件 2562 2017-02-22 11:57 kafka\common\FieldAnalysis.java
目录 0 2017-03-02 10:30 kafka\encoder\
文件 116 2017-02-22 11:57 kafka\encoder\IKafkaEncoder.java
文件 1082 2017-02-22 11:57 kafka\encoder\KafkaEncoder.java
文件 526 2017-02-22 11:57 kafka\encoder\KafkaEncoderba
文件 2127 2017-02-22 11:57 kafka\KafkaAppender.java
文件 3739 2017-02-22 11:57 kafka\KafkaAppenderConfig.java
目录 0 2017-03-02 10:30 kafka\layout\
文件 544 2017-02-22 11:57 kafka\layout\IpConvert.java
文件 8209 2017-02-22 11:57 kafka\layout\PatternLayout.java
文件 5271 2017-02-22 11:57 kafka\layout\PatternLayoutba
文件 2169 2017-03-02 10:30 kafka\logback-default.xm
目录 0 2017-03-02 10:30 kafka\producer\
文件 1212 2017-02-22 11:57 kafka\producer\KafkaProducerFactory.java
文件 1250 2017-02-22 11:57 kafka\producer\KafkaProducerListener.java
相关资源
- librdkafka win7 64位 vs2015编译Release版本
- Kafka技术内幕:图文详解Kafka源码设计
- Kafka技术内幕:图文详解Kafka源码设计
- kafka技术内幕超清中文版
- 大数据组件介绍PPT
- Kafka文件存储机制
- Apache kafka官方文档
-
kafka、storm、fli
nk、apex、spark五种流 - 大数据学习笔记.pdf
- LogBack 使用手册
- flume+kafka+sparkstreaming
- 各种MQkafkathrift等rpc框架.zip
- kafka权威指南 PDF完整-文字版 小容量
- 基于 Flume+ Kafka+ Spark Streaming 实现实时
- 黑马Kafka笔记代码.zip
- Kafka & Mafka技术分享及讨论
- librdkafka win7 64位 vs2015编译Release.rar
- Logback手冊高清中文版
- kafka系列文档-官方帮助文档中文翻译
- Apache Kafka Cookbook(PACKT2015)
- apache kafka pdf
- Kafka权威指南.epub
- Kafka中文api使用介绍+配置
- Kafka监控程序
- KafkaKafka
- kafka_2.11-0.10.1.0.tgz
- Kafka安装包
- 深入理解Kafka:核心设计与实践原理
- 已编译好的最新kafka-manager包
- Spark全栈数据分析_敏捷数据科学2.0_原
川公网安备 51152502000135号
评论
共有 条评论