Log4j插件可以通过log4j.jar获取Java日志,搭配Log4j的SocketAppender和SocketHubAppender使用,常用于简单的集群日志汇总。

最小化的配置

input {

log4j {

host=>"localhost"

port=>4560

}

}

output {

stdout {}

}

log4j插件配置host以及port就能监听localhost上的4560端口的log4j消息。

此时,如果你的log4j向本地主机以SocketAppender的方式输出日志消息,Logstash就能捕获到,参考的log4j配置文件如下:

> %5p >> %t >> %l >> %m%n" />

重要参数详解

mode logstash工作模式,可选"server"或者"client",默认是"server"

server就是把logstash看做是日志的服务器,接收log4j主机端生成的日志消息。

client则是把logstash看做是tcp的发起者,请求log4j主机返回日志消息。

host 主机地址,字符串类型,如"localhost"或者"192.168.0.1"

如果是server模式,就是监听的主机地址

如果是client模式,就是连接的目标地址

port 端口号,数字类型,如 4567 或者 12345

如果是server模式,就是监听的端口号

如果是client模式,就是连接的目标端口号

data_timeout 超时时间,秒为单位。如果设置-1,则永不超时,默认是5

如果某个tcp连接闲置了,则超过该时间限制,就断开或者关闭连接。

Server模式

server模式就是把logstash作为服务器,输出日志消息的java程序所在的主机作为客户机,大致类似如下:

Logstash的插件配置如下:

input{

log4j {

mode => "server"

host => "localhost"#注意这里,这里是Logstash服务器的地址或者主机名

port => 4560

}

}

output{

stdout{}

}

java程序log4j日志配置文件如下:

> %5p >> %t >> %l >> %m%n" />

另外需要注意的是,如果使用server模式,监听的ip地址只能是本机地址,否则无法绑定socket。

例如,我本身的服务器地址是10.4.5.6,那么我要绑定一个远端机器,10.4.5.7,就会报如下错误:

Client模式

client模式就是把Logstash当做客户端,去请求返回java程序所在的主机输出的日志,大致如下:

logstash的配置如下:

input{

log4j {

mode => "client"

host => "10.4.5.6"

port => 9999

}

}

output{

stdout{}

}

java程序这端的log4j配置文件如下:

> %5p >> %t >> %l >> %m%n" />

扩展

其实从logstash源码的角度看,就比较好理解他们的不同工作了!

可以看到,如果是server模式,logstash会创建一个新的线程,持续的监听目标主机和端口;如果是client模式,则是创建了一个tcp连接。

对应来说,server模式对应log4j的SocketAppender模式,client模式对应log4j的SocketHubAppender模式。

注意:

1 如果是server模式,那么监听的主机地址应该是IP地址,写localhost会导致无法接收其他主机发送的信息。

2 如果是client模式,监听的端口不能是4560

关于Log4j插件大致的内容就是如此了。

参考

logstash java插件_[logstash-input-log4j]插件使用详解相关推荐

  1. mysql过滤效率和java过滤效率_熔喷布过滤效率测试仪详解

    有人咨询电热汇问:熔喷布过滤效率测试仪组成及技术参数详解是什么?今天来详细介绍一下熔喷布过滤效率测试仪,首先来看一下熔喷布过滤效率测试仪的应用. 一.过滤效率测试仪概述 熔喷布过滤效率检测设备主要用于 ...

  2. 创造与魔法java语言_创造与魔法战宠技能详解 战宠技能汇总

    创造与魔法中战宠拥有不同的技能,熟悉并且灵活运用战宠可以使我们在打Boss的时候事半功倍,那么创造与魔法战宠技能分别有哪些呢?让我们一起来看看创造与魔法战宠技能详解汇总吧! 1.红蜥蜴[20级] 技能 ...

  3. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  4. Log4j介绍,log4j.properties配置详解

    http://www.cnblogs.com/simle/archive/2011/09/29/2195341.html本文主要解释log4j的配置文件各个配置项的含义,内容是从网上转载的 1.Log ...

  5. java加密算法入门(三)-非对称加密详解

    1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...

  6. slf4j log4j logback关系详解和相关用法 【by Sinte-Beuve】

    slf4j log4j logback关系详解和相关用法 slf4j log4j logback的关系 The Simple Logging Facade for Java是什么? log4j和log ...

  7. Log4j日志配置详解(Log4j2)

    Log4j日志配置详解 一.Log4j升级Log4j2 首先来说一下日志升级,log4j配置的变化,配置文件从log4j.xml变成了log4j2.xml,配置文件的内容也有很大不同,log file ...

  8. JAVA算法:回文字符串相关问题详解(回文字符串总结)

    JAVA算法:回文字符串相关问题详解(回文字符串总结) Q1. 编写一个工具方法判断给定的字符串是否为回文字符串 例如:给定一个字符串"aabbaa",判断该字符串是否为回文字符串 ...

  9. 项目log4j日志管理详解

    项目log4j日志管理详解 项目log4j日志管理详解 log4j日志系统在项目中重要性在这里就不再累述,我们在平时使用时如果没有特定要求,只需在log4j.properties文件中顶入输出级别就行 ...

  10. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

最新文章

  1. 【Python】Label组件 Button组件 Checkbutton组件
  2. Sparkamp;Spark性能调优实战
  3. 6.Boost之smartpointer
  4. Random Maze HDU - 4067 费用流/可行流
  5. composer安装及使用
  6. mysql函数match_Mysql全文搜索match…against的用法 | 学步园
  7. 获取数据库名称dbName
  8. 数据线给电脑联网是什么原理_物联网孵化的产物——条码扫描器
  9. 她,18岁,李飞飞三度公开表扬,高中时NIPS获奖,创造「AI手术教练」
  10. 给oracle数据库某一列数据的前面或者后面增加字符,合并两列的值
  11. python urlretrieve下载进度_python《文件下载进度显示》 urllib.request.urlretrieve(self.__path,self.__name,jindu)...
  12. Windows 上的高效启动器—— Listary
  13. duilib 控件位置
  14. envoy中的iptable流量劫持
  15. python-----异常处理
  16. 2018/7/31-zznu-oj-问题 F: 手机密码--【裸dfs+for循环即可!——据说三个小时内只有两个人读完了题意并轻松AC了】...
  17. 程序设计思维与实践 Week2 作业 B - Pour Wate
  18. 海外市场增长快速,爱贝激战跨境支付蓝海
  19. ATOM不争气 INTEL操纵PCMARK2005来黑NANO?[我写绿色IT]
  20. 三端式LC振荡器的组成原则

热门文章

  1. C# 二进制替换第一弹 byte 数组替换
  2. 通用sqlserver分页存储过程
  3. Bouncy Castle Crypto API c# port
  4. vc6.0 radio控件多个分组
  5. bzoj4558[JLoi2016]方 容斥+count
  6. POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA)...
  7. 贴一个数据结构老师布置的作业(各种排序) c 语言实现
  8. tcp socket的发送与接收缓冲区
  9. cocos2dx 简单血量条实现
  10. 大数据之-Hadoop伪分布式_配置日志聚集---大数据之hadoop工作笔记0028