Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-lambda-powertools/logger

Package Overview
Dependencies
Maintainers
4
Versions
96
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-lambda-powertools/logger - npm Package Compare versions

Comparing version 1.5.0 to 1.5.1

13

lib/formatter/PowertoolLogFormatter.js

@@ -20,9 +20,8 @@ "use strict";

formatAttributes(attributes) {
var _a, _b, _c, _d, _e;
return {
cold_start: (_a = attributes.lambdaContext) === null || _a === void 0 ? void 0 : _a.coldStart,
function_arn: (_b = attributes.lambdaContext) === null || _b === void 0 ? void 0 : _b.invokedFunctionArn,
function_memory_size: (_c = attributes.lambdaContext) === null || _c === void 0 ? void 0 : _c.memoryLimitInMB,
function_name: (_d = attributes.lambdaContext) === null || _d === void 0 ? void 0 : _d.functionName,
function_request_id: (_e = attributes.lambdaContext) === null || _e === void 0 ? void 0 : _e.awsRequestId,
cold_start: attributes.lambdaContext?.coldStart,
function_arn: attributes.lambdaContext?.invokedFunctionArn,
function_memory_size: attributes.lambdaContext?.memoryLimitInMB,
function_name: attributes.lambdaContext?.functionName,
function_request_id: attributes.lambdaContext?.awsRequestId,
level: attributes.logLevel,

@@ -38,2 +37,2 @@ message: attributes.message,

exports.PowertoolLogFormatter = PowertoolLogFormatter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG93ZXJ0b29sTG9nRm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci9Qb3dlcnRvb2xMb2dGb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0JBQWlDO0FBSWpDOzs7Ozs7R0FNRztBQUNILE1BQU0scUJBQXNCLFNBQVEsZUFBWTtJQUU5Qzs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFVBQWlDOztRQUN2RCxPQUFPO1lBQ0wsVUFBVSxFQUFFLE1BQUEsVUFBVSxDQUFDLGFBQWEsMENBQUUsU0FBUztZQUMvQyxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsYUFBYSwwQ0FBRSxrQkFBa0I7WUFDMUQsb0JBQW9CLEVBQUUsTUFBQSxVQUFVLENBQUMsYUFBYSwwQ0FBRSxlQUFlO1lBQy9ELGFBQWEsRUFBRSxNQUFBLFVBQVUsQ0FBQyxhQUFhLDBDQUFFLFlBQVk7WUFDckQsbUJBQW1CLEVBQUUsTUFBQSxVQUFVLENBQUMsYUFBYSwwQ0FBRSxZQUFZO1lBQzNELEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUTtZQUMxQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDM0IsYUFBYSxFQUFFLFVBQVUsQ0FBQyxlQUFlO1lBQ3pDLE9BQU8sRUFBRSxVQUFVLENBQUMsV0FBVztZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3JELGFBQWEsRUFBRSxVQUFVLENBQUMsV0FBVztTQUN0QyxDQUFDO0lBQ0osQ0FBQztDQUVGO0FBR0Msc0RBQXFCIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG93ZXJ0b29sTG9nRm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci9Qb3dlcnRvb2xMb2dGb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0JBQWlDO0FBSWpDOzs7Ozs7R0FNRztBQUNILE1BQU0scUJBQXNCLFNBQVEsZUFBWTtJQUU5Qzs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFVBQWlDO1FBQ3ZELE9BQU87WUFDTCxVQUFVLEVBQUUsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTO1lBQy9DLFlBQVksRUFBRSxVQUFVLENBQUMsYUFBYSxFQUFFLGtCQUFrQjtZQUMxRCxvQkFBb0IsRUFBRSxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWU7WUFDL0QsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWTtZQUNyRCxtQkFBbUIsRUFBRSxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVk7WUFDM0QsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzFCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztZQUMzQixhQUFhLEVBQUUsVUFBVSxDQUFDLGVBQWU7WUFDekMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxXQUFXO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDckQsYUFBYSxFQUFFLFVBQVUsQ0FBQyxXQUFXO1NBQ3RDLENBQUM7SUFDSixDQUFDO0NBRUY7QUFHQyxzREFBcUIifQ==

@@ -7,3 +7,2 @@ "use strict";

exports.LogItem = void 0;
const lodash_pickby_1 = __importDefault(require("lodash.pickby"));
const lodash_merge_1 = __importDefault(require("lodash.merge"));

@@ -31,3 +30,9 @@ class LogItem {

removeEmptyKeys(attributes) {
return (0, lodash_pickby_1.default)(attributes, (value) => value !== undefined && value !== '' && value !== null);
const newAttributes = {};
for (const key in attributes) {
if (attributes[key] !== undefined && attributes[key] !== '' && attributes[key] !== null) {
newAttributes[key] = attributes[key];
}
}
return newAttributes;
}

@@ -39,2 +44,2 @@ setAttributes(attributes) {

exports.LogItem = LogItem;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nSXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvTG9nSXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBbUM7QUFDbkMsZ0VBQWlDO0FBSWpDLE1BQU0sT0FBTztJQUlYLFlBQW1CLE1BQThFO1FBRnpGLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBR3JDLGdEQUFnRDtRQUNoRCwwREFBMEQ7UUFDMUQsK0RBQStEO1FBQy9ELG1GQUFtRjtRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhLENBQUMsVUFBeUI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFBLHNCQUFLLEVBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sZUFBZSxDQUFDLFVBQXlCO1FBQzlDLE9BQU8sSUFBQSx1QkFBTSxFQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXlCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FFRjtBQUdDLDBCQUFPIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nSXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvTG9nSXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnRUFBaUM7QUFJakMsTUFBTSxPQUFPO0lBSVgsWUFBbUIsTUFBOEU7UUFGekYsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFHckMsZ0RBQWdEO1FBQ2hELDBEQUEwRDtRQUMxRCwrREFBK0Q7UUFDL0QsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUF5QjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsc0JBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBeUI7UUFDOUMsTUFBTSxhQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUN4QyxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtZQUM1QixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN2RixhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXlCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FFRjtBQUdDLDBCQUFPIn0=

@@ -342,2 +342,12 @@ import type { Context } from 'aws-lambda';

/**
* When the data added in the log item contains object references or BigInt values,
* `JSON.stringify()` can't handle them and instead throws errors:
* `TypeError: cyclic object value` or `TypeError: Do not know how to serialize a BigInt`.
* To mitigate these issues, this method will find and remove all cyclic references and convert BigInt values to strings.
*
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#exceptions
* @private
*/
private getReplacer;
/**
* It returns the numeric sample rate value.

@@ -374,11 +384,2 @@ *

/**
* When the data added in the log item contains object references,
* JSON.stringify() doesn't try to solve them and instead throws an error: TypeError: cyclic object value.
* To mitigate this issue, this method will find and remove all cyclic references.
*
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value
* @private
*/
private removeCircularDependencies;
/**
* It initializes console property as an instance of the internal version of Console() class (PR #748)

@@ -385,0 +386,0 @@ * or as the global node console if the `POWERTOOLS_DEV' env variable is set and has truthy value.

@@ -111,3 +111,3 @@ "use strict";

this.logEvent = false;
this.logIndentation = 0 /* COMPACT */;
this.logIndentation = 0 /* LogJsonIndent.COMPACT */;
this.logLevelThresholds = {

@@ -273,2 +273,3 @@ DEBUG: 8,

*/
/* eslint-disable @typescript-eslint/no-non-null-assertion */
const originalMethod = descriptor.value;

@@ -285,3 +286,2 @@ // eslint-disable-next-line @typescript-eslint/no-this-alias

Logger.injectLambdaContextBefore(loggerRef, event, context, options);
/* eslint-disable @typescript-eslint/no-non-null-assertion */
let result;

@@ -377,6 +377,5 @@ try {

setSampleRateValue(sampleRateValue) {
var _a;
this.powertoolLogData.sampleRateValue =
sampleRateValue ||
((_a = this.getCustomConfigService()) === null || _a === void 0 ? void 0 : _a.getSampleRateValue()) ||
this.getCustomConfigService()?.getSampleRateValue() ||
this.getEnvVarsService().getSampleRateValue();

@@ -502,2 +501,30 @@ }

/**
* When the data added in the log item contains object references or BigInt values,
* `JSON.stringify()` can't handle them and instead throws errors:
* `TypeError: cyclic object value` or `TypeError: Do not know how to serialize a BigInt`.
* To mitigate these issues, this method will find and remove all cyclic references and convert BigInt values to strings.
*
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#exceptions
* @private
*/
getReplacer() {
const references = new WeakSet();
return (key, value) => {
let item = value;
if (item instanceof Error) {
item = this.getLogFormatter().formatError(item);
}
if (typeof item === 'bigint') {
return item.toString();
}
if (typeof item === 'object' && value !== null) {
if (references.has(item)) {
return;
}
references.add(item);
}
return item;
};
}
/**
* It returns the numeric sample rate value.

@@ -534,3 +561,3 @@ *

const consoleMethod = logLevel.toLowerCase();
this.console[consoleMethod](JSON.stringify(log.getAttributes(), this.removeCircularDependencies(), this.logIndentation));
this.console[consoleMethod](JSON.stringify(log.getAttributes(), this.getReplacer(), this.logIndentation));
}

@@ -551,26 +578,2 @@ /**

/**
* When the data added in the log item contains object references,
* JSON.stringify() doesn't try to solve them and instead throws an error: TypeError: cyclic object value.
* To mitigate this issue, this method will find and remove all cyclic references.
*
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value
* @private
*/
removeCircularDependencies() {
const references = new WeakSet();
return (key, value) => {
let item = value;
if (item instanceof Error) {
item = this.getLogFormatter().formatError(item);
}
if (typeof item === 'object' && value !== null) {
if (references.has(item)) {
return;
}
references.add(item);
}
return item;
};
}
/**
* It initializes console property as an instance of the internal version of Console() class (PR #748)

@@ -644,3 +647,3 @@ * or as the global node console if the `POWERTOOLS_DEV' env variable is set and has truthy value.

if (this.getEnvVarsService().isDevMode()) {
this.logIndentation = 4 /* PRETTY */;
this.logIndentation = 4 /* LogJsonIndent.PRETTY */;
}

@@ -656,3 +659,2 @@ }

setLogLevel(logLevel) {
var _a;
if (this.isValidLogLevel(logLevel)) {

@@ -662,3 +664,3 @@ this.logLevel = logLevel.toUpperCase();

}
const customConfigValue = (_a = this.getCustomConfigService()) === null || _a === void 0 ? void 0 : _a.getLogLevel();
const customConfigValue = this.getCustomConfigService()?.getLogLevel();
if (this.isValidLogLevel(customConfigValue)) {

@@ -721,10 +723,9 @@ this.logLevel = customConfigValue.toUpperCase();

setPowertoolLogData(serviceName, environment, persistentLogAttributes = {}) {
var _a, _b;
this.addToPowertoolLogData({
awsRegion: this.getEnvVarsService().getAwsRegion(),
environment: environment ||
((_a = this.getCustomConfigService()) === null || _a === void 0 ? void 0 : _a.getCurrentEnvironment()) ||
this.getCustomConfigService()?.getCurrentEnvironment() ||
this.getEnvVarsService().getCurrentEnvironment(),
sampleRateValue: this.getSampleRateValue(),
serviceName: serviceName || ((_b = this.getCustomConfigService()) === null || _b === void 0 ? void 0 : _b.getServiceName()) || this.getEnvVarsService().getServiceName() || this.getDefaultServiceName(),
serviceName: serviceName || this.getCustomConfigService()?.getServiceName() || this.getEnvVarsService().getServiceName() || this.getDefaultServiceName(),
}, persistentLogAttributes);

@@ -750,2 +751,2 @@ }

Logger.defaultLogLevel = 'INFO';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBa0M7QUFFbEMsNERBQXlEO0FBQ3pELDJDQUEyRTtBQUMzRSwrQkFBZ0M7QUFDaEMsZ0VBQWlDO0FBQ2pDLHFDQUErRTtBQWlCL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Rkc7QUFDSCxNQUFNLE1BQU8sU0FBUSxpQkFBTztJQWlDMUI7Ozs7T0FJRztJQUNILFlBQW1CLFVBQThCLEVBQUU7UUFDakQsS0FBSyxFQUFFLENBQUM7UUEzQkYsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkxQixtQkFBYyxtQkFBaUM7UUFJdEMsdUJBQWtCLEdBQXVCO1lBQ3hELEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztRQUVNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLDRCQUF1QixHQUFtQixFQUFFLENBQUM7UUFFN0MscUJBQWdCLEdBQXVDLEVBQUUsQ0FBQztRQVNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsT0FBZ0I7UUFDaEMsTUFBTSxhQUFhLEdBQW1DO1lBQ3BELGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7WUFDOUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDOUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUNoRCxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFD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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBa0M7QUFFbEMsNERBQXlEO0FBQ3pELDJDQUEyRTtBQUMzRSwrQkFBZ0M7QUFDaEMsZ0VBQWlDO0FBQ2pDLHFDQUErRTtBQWlCL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Rkc7QUFDSCxNQUFNLE1BQU8sU0FBUSxpQkFBTztJQWlDMUI7Ozs7T0FJRztJQUNILFlBQW1CLFVBQThCLEVBQUU7UUFDakQsS0FBSyxFQUFFLENBQUM7UUEzQkYsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkxQixtQkFBYyxpQ0FBaUM7UUFJdEMsdUJBQWtCLEdBQXVCO1lBQ3hELEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztRQUVNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLDRCQUF1QixHQUFtQixFQUFFLENBQUM7UUFFN0MscUJBQWdCLEdBQXVDLEVBQUUsQ0FBQztRQVNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsT0FBZ0I7UUFDaEMsTUFBTSxhQUFhLEdBQW1DO1lBQ3BELGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7WUFDOUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDOUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUNoRCxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFD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
import { Logger } from '../Logger';
import type middy from '@middy/core';
import { HandlerOptions } from '../types';
import type { MiddlewareLikeObj } from '@aws-lambda-powertools/commons';
/**

@@ -28,3 +28,3 @@ * A middy middleware that helps emitting CloudWatch EMF metrics in your logs.

*/
declare const injectLambdaContext: (target: Logger | Logger[], options?: HandlerOptions | undefined) => middy.MiddlewareObj;
declare const injectLambdaContext: (target: Logger | Logger[], options?: HandlerOptions) => MiddlewareLikeObj;
export { injectLambdaContext, };

@@ -54,2 +54,2 @@ "use strict";

exports.injectLambdaContext = injectLambdaContext;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9taWRkeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBbUM7QUFJbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE1BQXlCLEVBQUUsT0FBd0IsRUFBdUIsRUFBRTtJQUV2RyxNQUFNLE9BQU8sR0FBRyxNQUFNLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsTUFBTSxvQkFBb0IsR0FBb0IsRUFBRSxDQUFDO0lBRWpELE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUFFLE9BQXNCLEVBQWlCLEVBQUU7UUFDaEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ2pDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUMxQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN2RTtZQUNELGVBQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxpQ0FBaUMsR0FBRyxLQUFLLElBQW1CLEVBQUU7UUFDbEUsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDaEQsZUFBTSxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6RixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsaUNBQWlDO0tBQzNDLENBQUM7QUFDSixDQUFDLENBQUM7QUFHQSxrREFBbUIifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9taWRkeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBbUM7QUFPbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE1BQXlCLEVBQUUsT0FBd0IsRUFBcUIsRUFBRTtJQUVyRyxNQUFNLE9BQU8sR0FBRyxNQUFNLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsTUFBTSxvQkFBb0IsR0FBb0IsRUFBRSxDQUFDO0lBRWpELE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUFFLE9BQXlCLEVBQWlCLEVBQUU7UUFDbkYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ2pDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUMxQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN2RTtZQUNELGVBQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxpQ0FBaUMsR0FBRyxLQUFLLElBQW1CLEVBQUU7UUFDbEUsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDaEQsZUFBTSxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6RixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsaUNBQWlDO0tBQzNDLENBQUM7QUFDSixDQUFDLENBQUM7QUFHQSxrREFBbUIifQ==
import type { LogAttributes, LogLevel } from '..';
declare type PowertoolLog = LogAttributes & {
type PowertoolLog = LogAttributes & {
/**

@@ -4,0 +4,0 @@ * timestamp

@@ -1,17 +0,17 @@

declare type LogLevelDebug = 'DEBUG';
declare type LogLevelInfo = 'INFO';
declare type LogLevelWarn = 'WARN';
declare type LogLevelError = 'ERROR';
declare type LogLevel = LogLevelDebug | LogLevelInfo | LogLevelWarn | LogLevelError | string;
declare type LogLevelThresholds = {
type LogLevelDebug = 'DEBUG';
type LogLevelInfo = 'INFO';
type LogLevelWarn = 'WARN';
type LogLevelError = 'ERROR';
type LogLevel = LogLevelDebug | LogLevelInfo | LogLevelWarn | LogLevelError | string;
type LogLevelThresholds = {
[key in LogLevel]: number;
};
declare type LogAttributeValue = unknown;
declare type LogAttributes = {
type LogAttributeValue = unknown;
type LogAttributes = {
[key: string]: LogAttributeValue;
};
declare type LogAttributesWithMessage = LogAttributes & {
type LogAttributesWithMessage = LogAttributes & {
message: string;
};
declare type Environment = 'dev' | 'local' | 'staging' | 'prod' | string;
type Environment = 'dev' | 'local' | 'staging' | 'prod' | string;
export type { LogAttributesWithMessage, LogAttributeValue, Environment, LogLevelThresholds, LogAttributes, LogLevel, };

@@ -6,10 +6,10 @@ import { AsyncHandler, LambdaInterface, SyncHandler } from '@aws-lambda-powertools/commons';

import { Environment, LogAttributes, LogAttributesWithMessage, LogLevel } from './Log';
declare type ClassThatLogs = {
type ClassThatLogs = {
[key in 'debug' | 'error' | 'info' | 'warn']: (input: LogItemMessage, ...extraInput: LogItemExtraInput) => void;
};
declare type HandlerOptions = {
type HandlerOptions = {
logEvent?: boolean;
clearState?: boolean;
};
declare type ConstructorOptions = {
type ConstructorOptions = {
logLevel?: LogLevel;

@@ -23,3 +23,3 @@ serviceName?: string;

};
declare type LambdaFunctionContext = {
type LambdaFunctionContext = {
functionName: string;

@@ -32,3 +32,3 @@ memoryLimitInMB: number;

};
declare type PowertoolLogData = LogAttributes & {
type PowertoolLogData = LogAttributes & {
environment?: Environment;

@@ -41,3 +41,3 @@ serviceName: string;

};
declare type UnformattedAttributes = {
type UnformattedAttributes = {
environment?: Environment;

@@ -54,5 +54,5 @@ error?: Error;

};
declare type LogItemMessage = string | LogAttributesWithMessage;
declare type LogItemExtraInput = [Error | string] | LogAttributes[];
declare type HandlerMethodDecorator = (target: LambdaInterface, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<SyncHandler<Handler>> | TypedPropertyDescriptor<AsyncHandler<Handler>>) => void;
type LogItemMessage = string | LogAttributesWithMessage;
type LogItemExtraInput = [Error | string] | LogAttributes[];
type HandlerMethodDecorator = (target: LambdaInterface, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<SyncHandler<Handler>> | TypedPropertyDescriptor<AsyncHandler<Handler>>) => void;
export { ClassThatLogs, LogItemMessage, LogItemExtraInput, HandlerMethodDecorator, LambdaFunctionContext, UnformattedAttributes, PowertoolLogData, ConstructorOptions, HandlerOptions };

@@ -59,0 +59,0 @@ export declare const enum LogJsonIndent {

{
"name": "@aws-lambda-powertools/logger",
"version": "1.5.0",
"version": "1.5.1",
"description": "The logging package for the AWS Lambda Powertools for TypeScript library",

@@ -16,5 +16,5 @@ "author": {

"test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose",
"test:e2e:nodejs12x": "RUNTIME=nodejs12x jest --group=e2e",
"test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e",
"test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x jest --group=e2e",
"test:e2e": "jest --group=e2e",

@@ -36,4 +36,3 @@ "watch": "jest --watch --group=unit",

"devDependencies": {
"@types/lodash.merge": "^4.6.7",
"@types/lodash.pickby": "^4.6.7"
"@types/lodash.merge": "^4.6.7"
},

@@ -51,5 +50,4 @@ "files": [

"dependencies": {
"@aws-lambda-powertools/commons": "^1.5.0",
"lodash.merge": "^4.6.2",
"lodash.pickby": "^4.6.0"
"@aws-lambda-powertools/commons": "^1.5.1",
"lodash.merge": "^4.6.2"
},

@@ -65,3 +63,3 @@ "keywords": [

],
"gitHead": "3da04d7ee3a38cf3da3553a9b94fc63eb54eac31"
"gitHead": "ed55e588e65d59c8dc023a9dc06445502a6dd45b"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc