@opentelemetry/api
Version:
Public API for OpenTelemetry
40 lines (39 loc) • 1.27 kB
JavaScript
const require_global_utils = require("../internal/global-utils.cjs");
//#region src/diag/ComponentLogger.ts
/**
* Component Logger which is meant to be used as part of any component which
* will add automatically additional namespace in front of the log message.
* It will then forward all message to global diag logger
* @example
* const cLogger = diag.createComponentLogger({ namespace: '@opentelemetry/instrumentation-http' });
* cLogger.debug('test');
* // @opentelemetry/instrumentation-http test
*/
var DiagComponentLogger = class {
constructor(props) {
this._namespace = props.namespace || "DiagComponentLogger";
}
debug(...args) {
return logProxy("debug", this._namespace, args);
}
error(...args) {
return logProxy("error", this._namespace, args);
}
info(...args) {
return logProxy("info", this._namespace, args);
}
warn(...args) {
return logProxy("warn", this._namespace, args);
}
verbose(...args) {
return logProxy("verbose", this._namespace, args);
}
};
function logProxy(funcName, namespace, args) {
const logger = require_global_utils.getGlobal("diag");
if (!logger) return;
return logger[funcName](namespace, ...args);
}
//#endregion
exports.DiagComponentLogger = DiagComponentLogger;
//# sourceMappingURL=ComponentLogger.cjs.map