【发布时间】:2020-07-19 17:27:53
【问题描述】:
我有一个可以正常工作的 Spring-Boot 项目,我想从 Elastic 添加 ecs-encoder,以便生成为 ElasctiSearch 准备的 json 日志,我的配置如下:
在 pom.xml 中添加了依赖:
<dependency>
<groupId>co.elastic.logging</groupId>
<artifactId>logback-ecs-encoder</artifactId>
<version>0.4.0</version>
</dependency>
logback-spring-xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<include resource="co/elastic/logging/logback/boot/ecs-file-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<logger name="project.zuul.service.log" level="trace" additivity="false">
<appender-ref ref="ECS_JSON_FILE"/>
</logger>
</configuration>
我正在记录的类:
@Log4j2
public class ProjectLogger {
private ProjectLogger() {
}
public static void logProjectInfo(Object object) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
log.trace(objectMapper.writeValueAsString(object));
}
}
应该生成一个带有 json 日志的 log.json 文件,但我仍然得到的是普通日志,而不是来自 ecs 的 json 日志。
【问题讨论】:
-
您是否也将
application.properties文件正确配置为described here?
标签: java spring-boot elasticsearch logging