@@ -60,10 +60,27 @@ func EnablePgAdminLogging(ctx context.Context, spec *v1beta1.InstrumentationSpec
6060 {
6161 "context" : "log" ,
6262 "statements" : []string {
63+ // Keep the unparsed log record in a standard attribute, and replace
64+ // the log record body with the message field.
65+ //
66+ // https://github.com/open-telemetry/semantic-conventions/blob/v1.29.0/docs/general/logs.md
67+ `set(attributes["log.record.original"], body)` ,
6368 `set(cache, ParseJSON(body))` ,
6469 `merge_maps(attributes, ExtractPatterns(cache["message"], "(?P<webrequest>[A-Z]{3}.*?[\\d]{3})"), "insert")` ,
70+ `set(body, cache["message"])` ,
71+
72+ // Set instrumentation scope to the "name" from each log record.
73+ `set(instrumentation_scope.name, cache["name"])` ,
74+
75+ // https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitytext
6576 `set(severity_text, cache["level"])` ,
6677 `set(time_unix_nano, Int(cache["time"]*1000000000))` ,
78+
79+ // Map pgAdmin "logging levels" to OpenTelemetry severity levels.
80+ //
81+ // https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber
82+ // https://opentelemetry.io/docs/specs/otel/logs/data-model-appendix/#appendix-b-severitynumber-example-mappings
83+ // https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/-/pkg/ottl/contexts/ottllog#enums
6784 `set(severity_number, SEVERITY_NUMBER_DEBUG) where severity_text == "DEBUG"` ,
6885 `set(severity_number, SEVERITY_NUMBER_INFO) where severity_text == "INFO"` ,
6986 `set(severity_number, SEVERITY_NUMBER_WARN) where severity_text == "WARNING"` ,
0 commit comments