Azure / Azure/azure-sdk-for-java
Azure Monitor Exporter: log exporter produces unparseable message content for complex body types
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 2.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 178
Description
Sample code:
```java
var azmon = new AzureMonitorExporterBuilder()
.connectionString(...)
.buildLogRecordExporter();
var logProvider = SdkLoggerProvider.builder()
.addLogRecordProcessor(SimpleLogRecordProcessor.create(OtlpGrpcLogRecordExporter.getDefault()))
.addLogRecordProcessor(SimpleLogRecordProcessor.create(azmon))
.build();
EventLoggerProvider eventLoggerProvider = SdkEventLoggerProvider.create(logProvider);
var logger = eventLoggerProvider.get("test-logger");
var event = new GenAIChoice()
.setId(1)
.setFinishReasons(new String[]{"stop", "length"})
.setMessage(new GenAIMessage().setContent("test content"));
logger.builder("test-event")
.put("id", Value.of(event.getId()))
.put("finishReasons", Value.of(Arrays.stream(event.getFinishReasons()).map(Value::of).toArray(Value[]::new)))
.put("message", event.getMessage().toValue())
.emit();
```
AppInsights:
Aspire:
It's effectively impossible to parse what the exporter produces. It should produce valid json since KQL provides extensive support for it making it easy to parse and query corresponding content.
Contributor guide
Assessment
This issue has not been assessed yet.