Skip to content

Instantly share code, notes, and snippets.

@ozkanpakdil
Last active October 13, 2024 17:59
Show Gist options
  • Save ozkanpakdil/371dd1cacfd425f60b241526493b99cd to your computer and use it in GitHub Desktop.
Save ozkanpakdil/371dd1cacfd425f60b241526493b99cd to your computer and use it in GitHub Desktop.
added `implementation("net.logstash.logback:logstash-logback-encoder:8.0")` to build `build.gradle.kts`
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="OpenTelemetry"
class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
<captureExperimentalAttributes>true</captureExperimentalAttributes>
<captureKeyValuePairAttributes>true</captureKeyValuePairAttributes>
<captureCodeAttributes>true</captureCodeAttributes>
<captureMarkerAttribute>true</captureMarkerAttribute>
<captureMdcAttributes>*</captureMdcAttributes>
<numLogsCapturedBeforeOtelInstall>1</numLogsCapturedBeforeOtelInstall>
</appender>
<!--<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n</pattern>
</encoder>
</appender>-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<!-- <appender-ref ref="OpenTelemetry"/>-->
</root>
</configuration>
result
{"@timestamp":"2024-10-13T10:50:06.7546371+01:00","@version":"1","message":"GET \"/ping\", parameters={}","logger_name":"org.springframework.web.servlet.DispatcherServlet","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.754Z DEBUG 'GET "/ping", parameters={}' : b8d4074cd9b962c75dbd0d775e302b7a c8c75b9afc8a931e [scopeInfo: org.springframework.web.servlet.DispatcherServlet:] {}
{"@timestamp":"2024-10-13T10:50:06.7606357+01:00","@version":"1","message":"Mapped to io.opentelemetry.example.graal.Controller#ping()","logger_name":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.76Z DEBUG 'Mapped to io.opentelemetry.example.graal.Controller#ping()' : b8d4074cd9b962c75dbd0d775e302b7a c8c75b9afc8a931e [scopeInfo: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:] {}
{"@timestamp":"2024-10-13T10:50:06.7721783+01:00","@version":"1","message":"Using 'text/plain', given [*/*] and supported [text/plain, */*, application/json, application/*+json]","logger_name":"org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.772Z DEBUG 'Using 'text/plain', given [*/*] and supported [text/plain, */*, application/json, application/*+json]' : b8d4074cd9b962c75dbd0d775e302b7a c8c75b9afc8a931e [scopeInfo: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor:] {}
{"@timestamp":"2024-10-13T10:50:06.7737869+01:00","@version":"1","message":"Writing [\"pong\"]","logger_name":"org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.773Z DEBUG 'Writing ["pong"]' : b8d4074cd9b962c75dbd0d775e302b7a c8c75b9afc8a931e [scopeInfo: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor:] {}
{"@timestamp":"2024-10-13T10:50:06.7777276+01:00","@version":"1","message":"Completed 200 OK","logger_name":"org.springframework.web.servlet.DispatcherServlet","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.777Z DEBUG 'Completed 200 OK' : b8d4074cd9b962c75dbd0d775e302b7a c8c75b9afc8a931e [scopeInfo: org.springframework.web.servlet.DispatcherServlet:] {}
{"@timestamp":"2024-10-13T10:50:06.7787256+01:00","@version":"1","message":"Mapped to io.opentelemetry.example.graal.Controller#ping()","logger_name":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}
2024-10-13T09:50:06.778Z DEBUG 'Mapped to io.opentelemetry.example.graal.Controller#ping()' : 00000000000000000000000000000000 0000000000000000 [scopeInfo: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:] {}
my target is
{
"activity": {
"traceId": "a8cf4789110a57594860c757b223de16",
"spanId": "869d06ff6df625b0",
"activityTraceFlags": "Recorded",
"parentSpanId": "0000000000000000",
"activitySourceName": "Microsoft.AspNetCore",
"activitySourceVersion": "",
"displayName": "GET Hello",
"kind": "Server",
"startTime": "2024-10-04T23:16:15.8704941Z",
"duration": "00:00:00.1210854",
"tags": {
"server.address": "localhost",
"server.port": "8080",
"http.request.method": "GET",
"url.scheme": "http",
"url.path": "/Hello",
"network.protocol.version": "1.1",
"user_agent.original": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0",
"http.route": "Hello",
"http.response.status_code": "200"
},
"statusCode": "Unset",
"events": [],
"links": [],
"resource": {
"service.name": "my-service-name",
"telemetry.sdk.name": "opentelemetry",
"telemetry.sdk.language": "dotnet",
"telemetry.sdk.version": "1.9.0"
},
"rootId": "a8cf4789110a57594860c757b223de16",
"operationName": "Microsoft.AspNetCore.Hosting.HttpRequestIn"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment