faastjs
Version:
Serverless batch computing made simple.
77 lines • 6.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.inspectProvider = exports.log = void 0;
const tslib_1 = require("tslib");
const debug_1 = tslib_1.__importDefault(require("debug"));
const util_1 = require("util");
/**
* Faast.js loggers.
* @remarks
* Unless otherwise specified, each log is disabled by default unless the value
* of the DEBUG environment variable is set to the corresponding value. For
* example:
*
* ```
* $ DEBUG=faast:info,faast:provider <cmd>
* $ DEBUG=faast:* <cmd>
* ```
*
* Logs can also be enabled or disabled programmatically:
* ```typescript
* import { log } from "faastjs"
* log.info.enabled = true;
* log.provider.enabled = true;
* ```
*
* Each log outputs specific information:
*
* `info` - General informational logging.
*
* `minimal` - Outputs only basic information like the function name created in
* the cloud.
*
* `warn` - Warnings. Enabled by default.
*
* `gc` - Garbage collection verbose logging.
*
* `leaks` - Memory leak detector warnings for the cloud function. Enabled by
* default.
*
* `calls` - Verbose logging of each faast.js enabled function invocation.
*
* `webpack` - Verbose logging from webpack and packaging details.
*
* `provider` - Verbose logging of each interaction between faast.js runtime and
* the provider-specific implementation.
*
* `awssdk` - Verbose logging of AWS SDK. This can be useful for identifying
* which API calls are failing, retrying, or encountering rate limits.
*
* @public
*/
exports.log = {
info: (0, debug_1.default)("faast:info"),
minimal: (0, debug_1.default)("faast:minimal"),
warn: (0, debug_1.default)("faast:warning"),
gc: (0, debug_1.default)("faast:gc"),
leaks: (0, debug_1.default)("faast:leaks"),
calls: (0, debug_1.default)("faast:calls"),
webpack: (0, debug_1.default)("faast:webpack"),
provider: (0, debug_1.default)("faast:provider"),
awssdk: (0, debug_1.default)("faast:awssdk")
};
/* c8 ignore next */
function truncate(s, len) {
return s.length > len ? `${s.substr(0, len)}...` : s;
}
function inspectProvider(o) {
if (!exports.log.provider.enabled) {
return "";
}
/* c8 ignore next */
return truncate((0, util_1.inspect)(o, false, 3), 1024);
}
exports.inspectProvider = inspectProvider;
exports.log.warn.enabled = true;
exports.log.leaks.enabled = true;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMERBQTBCO0FBQzFCLCtCQUErQjtBQUUvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFDVSxRQUFBLEdBQUcsR0FBRztJQUNmLElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxZQUFZLENBQUM7SUFDekIsT0FBTyxFQUFFLElBQUEsZUFBSyxFQUFDLGVBQWUsQ0FBQztJQUMvQixJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsZUFBZSxDQUFDO0lBQzVCLEVBQUUsRUFBRSxJQUFBLGVBQUssRUFBQyxVQUFVLENBQUM7SUFDckIsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLGFBQWEsQ0FBQztJQUMzQixLQUFLLEVBQUUsSUFBQSxlQUFLLEVBQUMsYUFBYSxDQUFDO0lBQzNCLE9BQU8sRUFBRSxJQUFBLGVBQUssRUFBQyxlQUFlLENBQUM7SUFDL0IsUUFBUSxFQUFFLElBQUEsZUFBSyxFQUFDLGdCQUFnQixDQUFDO0lBQ2pDLE1BQU0sRUFBRSxJQUFBLGVBQUssRUFBQyxjQUFjLENBQUM7Q0FDaEMsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsR0FBVztJQUNwQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLENBQVM7SUFDckMsSUFBSSxDQUFDLFdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxxQkFBcUI7SUFDckIsT0FBTyxRQUFRLENBQUMsSUFBQSxjQUFPLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBTkQsMENBTUM7QUFFRCxXQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDeEIsV0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlYnVnIGZyb20gXCJkZWJ1Z1wiO1xuaW1wb3J0IHsgaW5zcGVjdCB9IGZyb20gXCJ1dGlsXCI7XG5cbi8qKlxuICogRmFhc3QuanMgbG9nZ2Vycy5cbiAqIEByZW1hcmtzXG4gKiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgZWFjaCBsb2cgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCB1bmxlc3MgdGhlIHZhbHVlXG4gKiBvZiB0aGUgREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlLiBGb3JcbiAqIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiAgICQgREVCVUc9ZmFhc3Q6aW5mbyxmYWFzdDpwcm92aWRlciA8Y21kPlxuICogICAkIERFQlVHPWZhYXN0OiogPGNtZD5cbiAqIGBgYFxuICpcbiAqIExvZ3MgY2FuIGFsc28gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCBwcm9ncmFtbWF0aWNhbGx5OlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgbG9nIH0gZnJvbSBcImZhYXN0anNcIlxuICogbG9nLmluZm8uZW5hYmxlZCA9IHRydWU7XG4gKiBsb2cucHJvdmlkZXIuZW5hYmxlZCA9IHRydWU7XG4gKiBgYGBcbiAqXG4gKiBFYWNoIGxvZyBvdXRwdXRzIHNwZWNpZmljIGluZm9ybWF0aW9uOlxuICpcbiAqIGBpbmZvYCAtIEdlbmVyYWwgaW5mb3JtYXRpb25hbCBsb2dnaW5nLlxuICpcbiAqIGBtaW5pbWFsYCAtIE91dHB1dHMgb25seSBiYXNpYyBpbmZvcm1hdGlvbiBsaWtlIHRoZSBmdW5jdGlvbiBuYW1lIGNyZWF0ZWQgaW5cbiAqIHRoZSBjbG91ZC5cbiAqXG4gKiBgd2FybmAgLSBXYXJuaW5ncy4gRW5hYmxlZCBieSBkZWZhdWx0LlxuICpcbiAqIGBnY2AgLSBHYXJiYWdlIGNvbGxlY3Rpb24gdmVyYm9zZSBsb2dnaW5nLlxuICpcbiAqIGBsZWFrc2AgLSBNZW1vcnkgbGVhayBkZXRlY3RvciB3YXJuaW5ncyBmb3IgdGhlIGNsb3VkIGZ1bmN0aW9uLiBFbmFibGVkIGJ5XG4gKiBkZWZhdWx0LlxuICpcbiAqIGBjYWxsc2AgLSBWZXJib3NlIGxvZ2dpbmcgb2YgZWFjaCBmYWFzdC5qcyBlbmFibGVkIGZ1bmN0aW9uIGludm9jYXRpb24uXG4gKlxuICogYHdlYnBhY2tgIC0gVmVyYm9zZSBsb2dnaW5nIGZyb20gd2VicGFjayBhbmQgcGFja2FnaW5nIGRldGFpbHMuXG4gKlxuICogYHByb3ZpZGVyYCAtIFZlcmJvc2UgbG9nZ2luZyBvZiBlYWNoIGludGVyYWN0aW9uIGJldHdlZW4gZmFhc3QuanMgcnVudGltZSBhbmRcbiAqIHRoZSBwcm92aWRlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBgYXdzc2RrYCAtIFZlcmJvc2UgbG9nZ2luZyBvZiBBV1MgU0RLLiBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGlkZW50aWZ5aW5nXG4gKiB3aGljaCBBUEkgY2FsbHMgYXJlIGZhaWxpbmcsIHJldHJ5aW5nLCBvciBlbmNvdW50ZXJpbmcgcmF0ZSBsaW1pdHMuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgbG9nID0ge1xuICAgIGluZm86IGRlYnVnKFwiZmFhc3Q6aW5mb1wiKSxcbiAgICBtaW5pbWFsOiBkZWJ1ZyhcImZhYXN0Om1pbmltYWxcIiksXG4gICAgd2FybjogZGVidWcoXCJmYWFzdDp3YXJuaW5nXCIpLFxuICAgIGdjOiBkZWJ1ZyhcImZhYXN0OmdjXCIpLFxuICAgIGxlYWtzOiBkZWJ1ZyhcImZhYXN0OmxlYWtzXCIpLFxuICAgIGNhbGxzOiBkZWJ1ZyhcImZhYXN0OmNhbGxzXCIpLFxuICAgIHdlYnBhY2s6IGRlYnVnKFwiZmFhc3Q6d2VicGFja1wiKSxcbiAgICBwcm92aWRlcjogZGVidWcoXCJmYWFzdDpwcm92aWRlclwiKSxcbiAgICBhd3NzZGs6IGRlYnVnKFwiZmFhc3Q6YXdzc2RrXCIpXG59O1xuXG4vKiBjOCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHRydW5jYXRlKHM6IHN0cmluZywgbGVuOiBudW1iZXIpIHtcbiAgICByZXR1cm4gcy5sZW5ndGggPiBsZW4gPyBgJHtzLnN1YnN0cigwLCBsZW4pfS4uLmAgOiBzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zcGVjdFByb3ZpZGVyKG86IG9iamVjdCkge1xuICAgIGlmICghbG9nLnByb3ZpZGVyLmVuYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBuZXh0ICAqL1xuICAgIHJldHVybiB0cnVuY2F0ZShpbnNwZWN0KG8sIGZhbHNlLCAzKSwgMTAyNCk7XG59XG5cbmxvZy53YXJuLmVuYWJsZWQgPSB0cnVlO1xubG9nLmxlYWtzLmVuYWJsZWQgPSB0cnVlO1xuIl19