前言
针对web服务集群方式部署的应用,查看日志太麻烦,这个时候可以将日志推送到kafka,然后在通过kafka以统一接口服务的方式开放给各种消费者,kafka高吞吐量的特点,十分适合。很多公司现在做统一日志处理平台的方案就是收集重要日志到kafka中,然后再导入Elasticsearch, HDFS,Strom 等具体日志数据的消费者中,用于进行实时的搜索分析,数据统计等。
一 log4j 收集
kafka提供了log4j 的集成包,我们可以直接添加依赖就可以用了,不用手写收集器。
1 添加依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-log4j-appender</artifactId>
</dependency>
2 log4j 文件配置
#根日志器定义
log4j.rootLogger=INFO,console,KAFKA
#Appender输出器配置
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.encoding=UTF-8
#Layout布局器配置
#Layout1
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.l