资源简介
使用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
相关资源
-
大数据hadoop+spark+hba
se+zookeeper+kafka - kafka和storm整合
- Hyperledger Fabric kafka配置
- EFK日志系统安装配置文档
- Kafka简介.ppt
- kafka学习
- 基于Storm构建实时热力学分别项目实战
- SpringBoot集成Redis,Webservice,kafka,q
- 电影推荐系统:基于spark、hadoop、ka
- kafka跟storm收集日志解决方案
- kafka集群部署文档(部署,运维,FA
- kafka视频.docx
- kafka书籍,三本
- springMVC+多线程+kafka的 demo基于maven
- kafka基础介绍PPT
- jstorm集成kafka插件demo
- 物联网感知数据数据资源平台概要设
- Kafka核心图解
- kafka入门demo
- Kafka多维度系统精讲,从入门到熟练掌
- Kafka In Action - Manning MEAP
-
基于fli
nk的风电数据实时采集项目总 - 尚硅谷大数据技术之Kafka2019新版源码
- kafka中文文档
- kafka介绍(内部培训).pptx
- 尚硅谷大数据课程全套最新视频
- kafka全套视频教程 某客学院
- kafka视频教程
- kafka视频教程-免费
- 基于 Flume+Kafka+Spark Streaming 实现实时监
评论
共有 条评论