Spring BootP的JSON格式日志文件

时间:2015-11-24 07:20:58

标签: java json spring-boot elastic-stack

我正在使用Spring Boot和Curator(https://github.com/spring-projects/spring-boot/tree/master/spring-boot-actuator)。为了监控我不想使用ELK堆栈。所以我需要将我的日志文件发送到LogStash,最简单的方法是使用logback将日志文件预格式化为json。通过使用默认记录器--logstash-logback-encoder我可以将日志文件作为json,但如果日志中的消息也是json,我没有得到一个大的json文件,我只是得到一个带有json和消息的字段作为文本字段

1 个答案:

答案 0 :(得分:2)

解决方案在发送日志时使用不同的界面。

您需要使用以下导入: import net.logstash.logback.argument.StructuredArguments ._

这会添加将参数传递给日志文件接口的选项。然后将参数添加为json对象而不是字符串字段。然后在代码中使用日志,如下所示:

val res = RequestFactory.getRestContent(s“http://localhost:$ serverPort / metrics”) meticLogger.info( “”,原始( “公制”,水库))

有关详细信息,请参阅: http://javaandroidandrest.blogspot.co.il/2015/11/spring-boot-curator-and-elk.html