diff --git a/package-lock.json b/package-lock.json index caac323..4813bde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/otel", - "version": "5.14.0", + "version": "5.15.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/otel", - "version": "5.14.0", + "version": "5.15.0", "license": "MIT", "dependencies": { "@opentelemetry/api": "^1.9.0", @@ -31,7 +31,7 @@ "@athenna/config": "^5.6.0", "@athenna/http": "^5.51.0", "@athenna/ioc": "^5.2.0", - "@athenna/logger": "^5.15.0", + "@athenna/logger": "^5.20.0", "@athenna/test": "^5.6.0", "@athenna/tsconfig": "^5.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", @@ -136,13 +136,14 @@ } }, "node_modules/@athenna/logger": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@athenna/logger/-/logger-5.15.0.tgz", - "integrity": "sha512-/OmXYsWbnUi6p8SG/Yilb+e0WBktsRNxen2k/npiRaN6gi3SUIUjl8+Ky4Sy0Vbh1U6DZZkXkBWj5hS0BFwFCw==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@athenna/logger/-/logger-5.20.0.tgz", + "integrity": "sha512-40w1Dh4nBHp2ksRteAlZuWBDDjkFjIhkdmTF+GE6b3+uywYcS8TxnHuW0tLha0q4HSGGdof/0ceX8EsWOR1vvg==", "dev": true, "license": "MIT", "dependencies": { "@aws-lambda-powertools/logger": "^1.18.1", + "@opentelemetry/api-logs": "^0.213.0", "cls-rtracer": "^2.6.3", "telegraf": "^4.16.3" }, diff --git a/package.json b/package.json index e08b3c0..1e14626 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/otel", - "version": "5.14.0", + "version": "5.15.0", "description": "OpenTelemetry package for Athenna.", "license": "MIT", "author": "João Lenon ", @@ -75,7 +75,7 @@ "@athenna/config": "^5.6.0", "@athenna/http": "^5.51.0", "@athenna/ioc": "^5.2.0", - "@athenna/logger": "^5.15.0", + "@athenna/logger": "^5.20.0", "@athenna/test": "^5.6.0", "@athenna/tsconfig": "^5.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", diff --git a/src/exceptions/ContextNotInitializedException.ts b/src/exceptions/ContextNotInitializedException.ts index 24a4cbf..c84002e 100644 --- a/src/exceptions/ContextNotInitializedException.ts +++ b/src/exceptions/ContextNotInitializedException.ts @@ -1,7 +1,9 @@ import { Exception } from '@athenna/common' export class ContextNotInitializedException extends Exception { - public constructor(message = 'Current request context store is not initialized') { + public constructor( + message = 'Current request context store is not initialized' + ) { super({ code: 'E_CONTEXT_NOT_INITIALIZED', message, diff --git a/src/otel/OtelImpl.ts b/src/otel/OtelImpl.ts index 84ca07c..af36306 100644 --- a/src/otel/OtelImpl.ts +++ b/src/otel/OtelImpl.ts @@ -16,6 +16,7 @@ import { type Context } from '@opentelemetry/api' +import { Log } from '@athenna/logger' import { Config } from '@athenna/config' import { NodeSDK } from '@opentelemetry/sdk-node' import { Is, Options, Macroable } from '@athenna/common' @@ -429,15 +430,19 @@ export class OtelImpl extends Macroable { */ private getCurrentContextStore(ctx?: Context) { if (Config.is('otel.enabled', false)) { - throw new DisabledOtelException('OpenTelemetry is disabled and a context could not be retrieved') + throw new DisabledOtelException( + 'OpenTelemetry is disabled and a context could not be retrieved' + ) } const store = (ctx || context.active()).getValue( otelCurrentContextBagKey as any - ) + ) if (!store || !(store instanceof Map)) { - throw new ContextNotInitializedException() + Log.channelOrVanilla('exception').error(new ContextNotInitializedException()) + + return new Map() } return store as Map