本节书摘来自华章出版社《ELK Stack权威指南(第2版)》一书中的第3章,第3.6节,作者 饶琛琳 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.6 Java日志
之前在2.2节有关codec的介绍中曾经提到过,对Java日志,除了使用multiline做多行日志合并以外,还可以直接通过Log4J写入logstash里。本节就讲述如何在Java应用环境做到这点。
3.6.1 Log4J配置
首先,需要配置Java应用的Log4J设置,启动一个内置的SocketAppender。修改应用的log4j.xml配置文件,添加如下配置段:
可以看到,异常堆栈直接记录在单行内了。
3.6.4 JSON Event layout
如果无法采用SocketAppender,必须使用文件方式的,其实Log4J有一个layout特性,用来控制日志输出的格式。和Nginx日志自己拼接JSON输出类似,也可以通过layout功能记录成JSON格式。
Logstash官方提供了扩展包,可以通过mvnrepository.com搜索下载: