diff --git a/CHANGELOG.md b/CHANGELOG.md
index 644972b9503..f4560294081 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
 
 ### :rocket: (Enhancement)
 
+* feat: include instrumentation scope info in console span and log record exporters [#4848](https://github.com/open-telemetry/opentelemetry-js/pull/4848) @blumamir
+
 ### :bug: (Bug Fix)
 
 ### :books: (Refine Doc)
diff --git a/experimental/packages/sdk-logs/src/export/ConsoleLogRecordExporter.ts b/experimental/packages/sdk-logs/src/export/ConsoleLogRecordExporter.ts
index efc52f4d3f0..74441d00987 100644
--- a/experimental/packages/sdk-logs/src/export/ConsoleLogRecordExporter.ts
+++ b/experimental/packages/sdk-logs/src/export/ConsoleLogRecordExporter.ts
@@ -55,6 +55,7 @@ export class ConsoleLogRecordExporter implements LogRecordExporter {
       resource: {
         attributes: logRecord.resource.attributes,
       },
+      instrumentationScope: logRecord.instrumentationScope,
       timestamp: hrTimeToMicroseconds(logRecord.hrTime),
       traceId: logRecord.spanContext?.traceId,
       spanId: logRecord.spanContext?.spanId,
diff --git a/experimental/packages/sdk-logs/test/common/export/ConsoleLogRecordExporter.test.ts b/experimental/packages/sdk-logs/test/common/export/ConsoleLogRecordExporter.test.ts
index 383bceec0c4..5a264a2074a 100644
--- a/experimental/packages/sdk-logs/test/common/export/ConsoleLogRecordExporter.test.ts
+++ b/experimental/packages/sdk-logs/test/common/export/ConsoleLogRecordExporter.test.ts
@@ -40,6 +40,8 @@ describe('ConsoleLogRecordExporter', () => {
   describe('export', () => {
     it('should export information about log record', () => {
       assert.doesNotThrow(() => {
+        const instrumentationScopeName = '@opentelemetry/sdk-logs/test';
+        const instrumentationScopeVersion = '1.2.3';
         const consoleExporter = new ConsoleLogRecordExporter();
         const spyConsole = sinon.spy(console, 'dir');
         const spyExport = sinon.spy(consoleExporter, 'export');
@@ -48,11 +50,13 @@ describe('ConsoleLogRecordExporter', () => {
           new SimpleLogRecordProcessor(consoleExporter)
         );
 
-        provider.getLogger('default').emit({
-          body: 'body1',
-          severityNumber: SeverityNumber.DEBUG,
-          severityText: 'DEBUG',
-        });
+        provider
+          .getLogger(instrumentationScopeName, instrumentationScopeVersion)
+          .emit({
+            body: 'body1',
+            severityNumber: SeverityNumber.DEBUG,
+            severityText: 'DEBUG',
+          });
 
         const logRecords = spyExport.args[0];
         const firstLogRecord = logRecords[0][0];
@@ -63,6 +67,7 @@ describe('ConsoleLogRecordExporter', () => {
         const expectedKeys = [
           'attributes',
           'body',
+          'instrumentationScope',
           'resource',
           'severityNumber',
           'severityText',
@@ -76,6 +81,13 @@ describe('ConsoleLogRecordExporter', () => {
         assert.ok(firstLogRecord.severityNumber === SeverityNumber.DEBUG);
         assert.ok(firstLogRecord.severityText === 'DEBUG');
         assert.ok(keys === expectedKeys, 'expectedKeys');
+        assert.ok(
+          firstLogRecord.instrumentationScope.name === instrumentationScopeName
+        );
+        assert.ok(
+          firstLogRecord.instrumentationScope.version ===
+            instrumentationScopeVersion
+        );
 
         assert.ok(spyExport.calledOnce);
       });
diff --git a/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts b/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts
index dcca6d23bf1..16998aa1f29 100644
--- a/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts
+++ b/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts
@@ -65,6 +65,7 @@ export class ConsoleSpanExporter implements SpanExporter {
       resource: {
         attributes: span.resource.attributes,
       },
+      instrumentationScope: span.instrumentationLibrary,
       traceId: span.spanContext().traceId,
       parentId: span.parentSpanId,
       traceState: span.spanContext().traceState?.serialize(),
diff --git a/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts b/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts
index ab50d26b572..c73f318fffb 100644
--- a/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts
+++ b/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts
@@ -55,7 +55,12 @@ describe('ConsoleSpanExporter', () => {
           new SimpleSpanProcessor(consoleExporter)
         );
 
-        const tracer = basicTracerProvider.getTracer('default');
+        const instrumentationScopeName = '@opentelemetry/sdk-trace-base/test';
+        const instrumentationScopeVersion = '1.2.3';
+        const tracer = basicTracerProvider.getTracer(
+          instrumentationScopeName,
+          instrumentationScopeVersion
+        );
         const context: SpanContext = {
           traceId: 'a3cda95b652f4a1592b449d5929fda1b',
           spanId: '5e0c63257de34c92',
@@ -80,6 +85,7 @@ describe('ConsoleSpanExporter', () => {
           'duration',
           'events',
           'id',
+          'instrumentationScope',
           'kind',
           'links',
           'name',
@@ -95,6 +101,13 @@ describe('ConsoleSpanExporter', () => {
         assert.ok(firstEvent.name === 'foobar');
         assert.ok(consoleSpan.id === firstSpan.spanContext().spanId);
         assert.ok(keys === expectedKeys, 'expectedKeys');
+        assert.ok(
+          firstSpan.instrumentationLibrary.name === instrumentationScopeName
+        );
+        assert.ok(
+          firstSpan.instrumentationLibrary.version ===
+            instrumentationScopeVersion
+        );
 
         assert.ok(spyExport.calledOnce);
       });