对于日志记录,我们使用logback。目前我们使用splunk来查看spring引导日志。根据项目要求,我们需要向Kibana移动。首先,我们应该以json格式登录,以便kibana可以轻松地处理它。目前,我们没有用kibana取代splunk,但当与kibana成功集成后,我们可以在所有项目中逐渐取代splunk。
因此,根据要求,我们需要现有的日志,即文本日志,但出于研发目的,我们也需要json日志。
对于日志记录,我们使用logback。目前我们使用splunk来查看spring引导日志。根据项目要求,我们需要向Kibana移动。首先,我们应该以json格式登录,以便kibana可以轻松地处理它。目前,我们没有用kibana取代splunk,但当与kibana成功集成后,我们可以在所有项目中逐渐取代splunk。
因此,根据要求,我们需要现有的日志,即文本日志,但出于研发目的,我们也需要json日志。
2条答案
按热度按时间inn6fuwd1#
您可以在logback.xml中为json和文本格式配置如下代码段。
只需更改这里的类,我就可以将一个打印到consoleappender,另一个打印到一个文件,您也可以同时指向consoleappender。
wwwo4jvm2#
这很简单。你只需要加上
logstash-logback-encoder
中的依赖关系pom.xml
文件并在logback.xml
文件。请按照以下步骤来满足您的要求。第一步:添加
logstash-logback-encoder
中的依赖关系pom.xml
.第二步:创建
logback.xml
文件内部src/main/resources/
并复制粘贴以下内容。第三步:现在你可以在类的任何地方使用log语句。假设您在SpringBoot的主类中使用。
这将在
logs
目录。application-text.log
看起来像这样{"@timestamp":"2020-09-11T22:36:13.627+05:30","@version":"1","message":"---------- Spring Application started successfully ----------","logger_name":"com.altafjava.JsonLogApplication","thread_name":"main","level":"INFO","level_value":20000,"id":"DEMO_IND_PARAM"}
{"@timestamp":"2020-09-11T22:36:13.630+05:30","@version":"1","message":"This is an info message.","logger_name":"com.altafjava.JsonLogApplication","thread_name":"main","level":"INFO","level_value":20000,"id":"DEMO_IND_PARAM"}
{"@timestamp":"2020-09-11T22:36:13.630+05:30","@version":"1","message":"This is a warn message.","logger_name":"com.altafjava.JsonLogApplication","thread_name":"main","level":"WARN","level_value":30000,"id":"DEMO_IND_PARAM"}
{"@timestamp":"2020-09-11T22:36:13.631+05:30","@version":"1","message":"This is an error message.","logger_name":"com.altafjava.JsonLogApplication","thread_name":"main","level":"ERROR","level_value":40000,"id":"DEMO_IND_PARAM"}
{"@timestamp":"2020-09-11T22:36:13.631+05:30","@version":"1","message":"---------- Spring Application ended successfully ----------","logger_name":"com.altafjava.JsonLogApplication","thread_name":"main","level":"INFO","level_value":20000,"id":"DEMO_IND_PARAM"}