{"_id":"@opentelemetry/instrumentation-console","_rev":"3-ca417128152e15bace0f1d1f1178407b","name":"@opentelemetry/instrumentation-console","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"@opentelemetry/instrumentation-console","version":"0.2.0","keywords":["console","instrumentation","logging","nodejs","opentelemetry","tracing"],"author":{"name":"OpenTelemetry Authors"},"license":"Apache-2.0","_id":"@opentelemetry/instrumentation-console@0.2.0","maintainers":[{"name":"dyladan","email":"dyladan@gmail.com"},{"name":"pichlermarc","email":"marc.pichler@dynatrace.com"},{"name":"overbalance","email":"overbalancedev@proton.me"},{"name":"npmjs-account","email":"npmjs-account@opentelemetry.io"},{"name":"trentm","email":"trentm@gmail.com"},{"name":"martinkuba","email":"martin@martinkuba.com"}],"homepage":"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-console#readme","bugs":{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/issues"},"dist":{"shasum":"55808a61349c3e82d847ce56e5cc250424b390e7","tarball":"https://registry.npmjs.org/@opentelemetry/instrumentation-console/-/instrumentation-console-0.2.0.tgz","fileCount":15,"integrity":"sha512-Gh1Z7ZbkPSVhU+gTNmLrAdNyzA2mOMT13qtV9sjO6dSpIQzbmNS58PEN6Mrp4VN5v3MsLmCQHVeiNX8BHpFlww==","signatures":[{"sig":"MEUCIQDGcxAiU+LjGl+iK+AbgGyKCl9NxYkU3AY+QmSiLAVVOAIgbowCqOnH5pR+NSwec4Q++oxTo375Ue19j/JsmFPQ6cI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33518},"main":"build/src/index.js","types":"build/src/index.d.ts","engines":{"node":"^18.19.0 || >=20.6.0"},"gitHead":"8d7daea5c404855f474a82f4296640af8b93b64c","scripts":{"tdd":"npm run test -- --watch-extensions ts --watch","test":"nyc --no-clean mocha 'test/**/*.test.ts'","clean":"rimraf build/*","compile":"tsc -p .","lint:readme":"node ../../scripts/lint-readme.js","prepublishOnly":"npm run compile","version:update":"node ../../scripts/version-update.js","compile:with-dependencies":"nx run-many -t compile -p @opentelemetry/instrumentation-console"},"_npmUser":{"name":"pichlermarc","email":"marc.pichler@dynatrace.com"},"repository":{"url":"git+https://github.com/open-telemetry/opentelemetry-js-contrib.git","type":"git","directory":"packages/instrumentation-console"},"_npmVersion":"11.12.0","description":"OpenTelemetry instrumentation for Node.js `console`","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@opentelemetry/api-logs":"^0.220.0","@opentelemetry/instrumentation":"^0.220.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@opentelemetry/api":"^1.9.1","@opentelemetry/sdk-logs":"^0.220.0","@opentelemetry/sdk-trace-base":"^2.0.0","@opentelemetry/sdk-trace-node":"^2.0.0"},"peerDependencies":{"@opentelemetry/api":"^1.9.1"},"_npmOperationalInternal":{"tmp":"tmp/instrumentation-console_0.2.0_1783077402669_0.37633172055311137","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@opentelemetry/instrumentation-console","version":"0.3.0","keywords":["console","instrumentation","logging","nodejs","opentelemetry","tracing"],"author":{"name":"OpenTelemetry Authors"},"license":"Apache-2.0","_id":"@opentelemetry/instrumentation-console@0.3.0","maintainers":[{"name":"dyladan","email":"dyladan@gmail.com"},{"name":"pichlermarc","email":"marc.pichler@dynatrace.com"},{"name":"overbalance","email":"overbalancedev@proton.me"},{"name":"npmjs-account","email":"npmjs-account@opentelemetry.io"},{"name":"trentm","email":"trentm@gmail.com"},{"name":"martinkuba","email":"martin@martinkuba.com"}],"homepage":"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-console#readme","bugs":{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/issues"},"dist":{"shasum":"ecf0822a29f0859281077e2fb6097a18c7be59c3","tarball":"https://registry.npmjs.org/@opentelemetry/instrumentation-console/-/instrumentation-console-0.3.0.tgz","fileCount":15,"integrity":"sha512-PwMaImP/ZiNzCWio00tL+3RPlHMHb852UOHLG9WYxU18rJuCPRfU40xSc0VuMEd1C7+rNhjjVHM10sWLLlN8KQ==","signatures":[{"sig":"MEQCICO+NHAqzV7H8h3AfLVwIjI6i0x3ZwVC5dvj5HSujxqLAiBCMk0lL5G3rJ58bRJM9AU+3cxjJeJdLDWNU7xKahGTmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentelemetry%2finstrumentation-console@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33575},"main":"build/src/index.js","types":"build/src/index.d.ts","engines":{"node":"^18.19.0 || >=20.6.0"},"gitHead":"27e172a9e0d549559056ccd58f27d13467454156","scripts":{"tdd":"npm run test -- --watch-extensions ts --watch","test":"nyc --no-clean mocha 'test/**/*.test.ts'","clean":"rimraf build/*","compile":"tsc -p .","lint:readme":"node ../../scripts/lint-readme.js","prepublishOnly":"npm run compile","version:update":"node ../../scripts/version-update.js","compile:with-dependencies":"nx run-many -t compile -p @opentelemetry/instrumentation-console"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2776c27a-7828-4570-bc79-a7705d0721d7"}},"repository":{"url":"git+https://github.com/open-telemetry/opentelemetry-js-contrib.git","type":"git","directory":"packages/instrumentation-console"},"_npmVersion":"lerna/9.0.7/node@v24.18.0+x64 (linux)","description":"OpenTelemetry instrumentation for Node.js `console`","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@opentelemetry/api-logs":"^0.221.0","@opentelemetry/instrumentation":"^0.221.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@opentelemetry/api":"^1.9.1","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/sdk-trace":"^2.9.0","@opentelemetry/context-async-hooks":"^2.9.0"},"peerDependencies":{"@opentelemetry/api":"^1.9.1"},"_npmOperationalInternal":{"tmp":"tmp/instrumentation-console_0.3.0_1784841881249_0.18859050486275564","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@opentelemetry/instrumentation-console","version":"0.4.0","description":"OpenTelemetry instrumentation for Node.js `console`","main":"build/src/index.js","types":"build/src/index.d.ts","repository":{"type":"git","url":"git+https://github.com/open-telemetry/opentelemetry-js-contrib.git","directory":"packages/instrumentation-console"},"scripts":{"clean":"rimraf build/*","compile":"tsc -p .","compile:with-dependencies":"nx run-many -t compile -p @opentelemetry/instrumentation-console","lint:readme":"node ../../scripts/lint-readme.js","prepublishOnly":"npm run compile","tdd":"npm run test -- --watch-extensions ts --watch","test":"nyc --no-clean mocha 'test/**/*.test.ts'","version:update":"node ../../scripts/version-update.js"},"keywords":["console","instrumentation","logging","nodejs","opentelemetry","tracing"],"author":{"name":"OpenTelemetry Authors"},"license":"Apache-2.0","engines":{"node":"^18.19.0 || >=20.6.0"},"publishConfig":{"access":"public"},"peerDependencies":{"@opentelemetry/api":"^1.9.1"},"devDependencies":{"@opentelemetry/api":"^1.9.1","@opentelemetry/context-async-hooks":"^2.9.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/sdk-trace":"^2.9.0"},"dependencies":{"@opentelemetry/api-logs":"^0.222.0","@opentelemetry/instrumentation":"^0.222.0"},"homepage":"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-console#readme","gitHead":"932fc967b142a8eb47d306fe92107b62962099f0","_id":"@opentelemetry/instrumentation-console@0.4.0","bugs":{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/issues"},"_nodeVersion":"24.19.0","_npmVersion":"lerna/9.0.7/node@v24.19.0+x64 (linux)","dist":{"integrity":"sha512-nFrzLlHry2ngfgrpIQi1FSJ/IxLj0z0V6xER4KBeQZ7BPtqjugcSh47LEhrA5y8tm0DvELnPkBETpy/qBiURiA==","shasum":"b12a4a089d595482423f3d0cf3b2d96e8628a7cc","tarball":"https://registry.npmjs.org/@opentelemetry/instrumentation-console/-/instrumentation-console-0.4.0.tgz","fileCount":15,"unpackedSize":33788,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentelemetry%2finstrumentation-console@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD48DFOCrIcGhZ70GfoLUxfvxDJW/DgiNwV5lGvClrPZAIhANbyfU/BqilOYJYS6AlgCgbRIR7a36fwGLIv1W3TvXNE"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2776c27a-7828-4570-bc79-a7705d0721d7"}},"directories":{},"maintainers":[{"name":"dyladan","email":"dyladan@gmail.com"},{"name":"pichlermarc","email":"marc.pichler@dynatrace.com"},{"name":"overbalance","email":"overbalancedev@proton.me"},{"name":"npmjs-account","email":"npmjs-account@opentelemetry.io"},{"name":"trentm","email":"trentm@gmail.com"},{"name":"martinkuba","email":"martin@martinkuba.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/instrumentation-console_0.4.0_1788208676786_0.9283114596798301"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T11:16:42.563Z","modified":"2026-08-31T20:37:57.220Z","0.2.0":"2026-07-03T11:16:42.827Z","0.3.0":"2026-07-23T21:24:41.379Z","0.4.0":"2026-08-31T20:37:56.912Z"},"bugs":{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/issues"},"author":{"name":"OpenTelemetry Authors"},"license":"Apache-2.0","homepage":"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-console#readme","keywords":["console","instrumentation","logging","nodejs","opentelemetry","tracing"],"repository":{"type":"git","url":"git+https://github.com/open-telemetry/opentelemetry-js-contrib.git","directory":"packages/instrumentation-console"},"description":"OpenTelemetry instrumentation for Node.js `console`","maintainers":[{"name":"dyladan","email":"dyladan@gmail.com"},{"name":"pichlermarc","email":"marc.pichler@dynatrace.com"},{"name":"overbalance","email":"overbalancedev@proton.me"},{"name":"npmjs-account","email":"npmjs-account@opentelemetry.io"},{"name":"trentm","email":"trentm@gmail.com"},{"name":"martinkuba","email":"martin@martinkuba.com"}],"readme":"# OpenTelemetry Instrumentation for Node.js Console\n\n[![NPM Published Version][npm-img]][npm-url]\n[![Apache License][license-image]][license-image]\n\nThis module provides automatic instrumentation for the Node.js [`console`](https://nodejs.org/api/console.html) module, generating OpenTelemetry LogRecords for console method calls (`console.log`, `console.error`, `console.warn`, etc.).\n\n## Installation\n\n```bash\nnpm install @opentelemetry/instrumentation-console\n```\n\n## Supported Versions\n\n- Node.js `^18.19.0 || >=20.6.0`\n\n## Usage\n\n```javascript\nconst { NodeSDK } = require('@opentelemetry/sdk-node');\nconst { ConsoleInstrumentation } = require('@opentelemetry/instrumentation-console');\n\nconst sdk = new NodeSDK({\n  instrumentations: [new ConsoleInstrumentation()],\n});\nsdk.start();\n\n// Now console calls will generate LogRecords\nconsole.log('Hello, world!');    // severity: INFO\nconsole.warn('Watch out!');      // severity: WARN\nconsole.error('Something bad');  // severity: ERROR\n```\n\n## Console Methods Instrumented\n\n| Console Method   | Severity Number | Severity Text |\n| ---------------- | --------------- | ------------- |\n| `console.trace`  | TRACE           | trace         |\n| `console.debug`  | DEBUG           | debug         |\n| `console.log`    | INFO            | info          |\n| `console.info`   | INFO            | info          |\n| `console.warn`   | WARN            | warn          |\n| `console.error`  | ERROR           | error         |\n| `console.dir`    | INFO            | info          |\n\n## Configuration\n\n| Option                  | Type                  | Default | Description                                                        |\n| ----------------------- | --------------------- | ------- | ------------------------------------------------------------------ |\n| `logSeverity`           | `SeverityNumber`      | —       | Minimum severity level; only logs at or above this level are sent  |\n\n## Trace Context Correlation\n\nWhen a console method is called within an active span context, the emitted\nLogRecord is associated with that context. The OpenTelemetry Logs SDK uses this\nto populate the LogRecord's `spanContext` (trace ID, span ID, and trace flags),\nso exported log records can be correlated with their originating trace.\n\n## Important: Infinite Loop Prevention\n\nThis instrumentation requires `@opentelemetry/api >= 1.9.1`. Starting from that version, the `DiagConsoleLogger` saves references to the original `console` methods at module load time, so internal OTel diagnostic logging bypasses the instrumentation and avoids infinite loops.\n\nAdditionally, this instrumentation includes a re-entrancy guard to prevent loops from exporters that write to the console (e.g., `ConsoleLogRecordExporter`).\n\n> **Note:** Avoid using `ConsoleLogRecordExporter` or `ConsoleSpanExporter` together with this instrumentation in production. Use network-based exporters (e.g., OTLP) instead.\n\n## Useful links\n\n- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>\n- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>\n- For help or feedback on this project, join us in [GitHub Discussions][discussions-url]\n\n## License\n\nApache 2.0 - See [LICENSE][license-url] for more information.\n\n[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions\n[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE\n[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-console\n[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-console.svg\n","readmeFilename":"README.md"}