我使用 Logback 和 StructuredArguments 在记录的条目中包含自定义字段。
像这样:
log.info("message", StructuredArguments.entries(Map.of("testKey", "testValue")));
如何将这些字段发送到 Azure Appinsights?
我在
traces
表中看到这些消息,但不包括来自地图的参数。
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-logging-logback</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:5044</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<customFields>{"ai.cloud.roleInstance": "your-instance-name"}</customFields>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="logstash"/>
</root>
log.info("message", StructuredArguments.entries(Map.of("testKey", "testValue")));