faastjs
Version:
Serverless batch computing made simple.
77 lines • 6.79 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMERBQTBCO0FBQzFCLCtCQUErQjtBQUUvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFDVSxRQUFBLEdBQUcsR0FBRztJQUNmLElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxZQUFZLENBQUM7SUFDekIsT0FBTyxFQUFFLElBQUEsZUFBSyxFQUFDLGVBQWUsQ0FBQztJQUMvQixJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsZUFBZSxDQUFDO0lBQzVCLEVBQUUsRUFBRSxJQUFBLGVBQUssRUFBQyxVQUFVLENBQUM7SUFDckIsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLGFBQWEsQ0FBQztJQUMzQixLQUFLLEVBQUUsSUFBQSxlQUFLLEVBQUMsYUFBYSxDQUFDO0lBQzNCLE9BQU8sRUFBRSxJQUFBLGVBQUssRUFBQyxlQUFlLENBQUM7SUFDL0IsUUFBUSxFQUFFLElBQUEsZUFBSyxFQUFDLGdCQUFnQixDQUFDO0lBQ2pDLE1BQU0sRUFBRSxJQUFBLGVBQUssRUFBQyxjQUFjLENBQUM7Q0FDaEMsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsR0FBVztJQUNwQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLENBQVM7SUFDckMsSUFBSSxDQUFDLFdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QscUJBQXFCO0lBQ3JCLE9BQU8sUUFBUSxDQUFDLElBQUEsY0FBTyxFQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQU5ELDBDQU1DO0FBRUQsV0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLFdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJ1ZyBmcm9tIFwiZGVidWdcIjtcbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tIFwidXRpbFwiO1xuXG4vKipcbiAqIEZhYXN0LmpzIGxvZ2dlcnMuXG4gKiBAcmVtYXJrc1xuICogVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIGVhY2ggbG9nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgdW5sZXNzIHRoZSB2YWx1ZVxuICogb2YgdGhlIERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZS4gRm9yXG4gKiBleGFtcGxlOlxuICpcbiAqIGBgYFxuICogICAkIERFQlVHPWZhYXN0OmluZm8sZmFhc3Q6cHJvdmlkZXIgPGNtZD5cbiAqICAgJCBERUJVRz1mYWFzdDoqIDxjbWQ+XG4gKiBgYGBcbiAqXG4gKiBMb2dzIGNhbiBhbHNvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgcHJvZ3JhbW1hdGljYWxseTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGxvZyB9IGZyb20gXCJmYWFzdGpzXCJcbiAqIGxvZy5pbmZvLmVuYWJsZWQgPSB0cnVlO1xuICogbG9nLnByb3ZpZGVyLmVuYWJsZWQgPSB0cnVlO1xuICogYGBgXG4gKlxuICogRWFjaCBsb2cgb3V0cHV0cyBzcGVjaWZpYyBpbmZvcm1hdGlvbjpcbiAqXG4gKiBgaW5mb2AgLSBHZW5lcmFsIGluZm9ybWF0aW9uYWwgbG9nZ2luZy5cbiAqXG4gKiBgbWluaW1hbGAgLSBPdXRwdXRzIG9ubHkgYmFzaWMgaW5mb3JtYXRpb24gbGlrZSB0aGUgZnVuY3Rpb24gbmFtZSBjcmVhdGVkIGluXG4gKiB0aGUgY2xvdWQuXG4gKlxuICogYHdhcm5gIC0gV2FybmluZ3MuIEVuYWJsZWQgYnkgZGVmYXVsdC5cbiAqXG4gKiBgZ2NgIC0gR2FyYmFnZSBjb2xsZWN0aW9uIHZlcmJvc2UgbG9nZ2luZy5cbiAqXG4gKiBgbGVha3NgIC0gTWVtb3J5IGxlYWsgZGV0ZWN0b3Igd2FybmluZ3MgZm9yIHRoZSBjbG91ZCBmdW5jdGlvbi4gRW5hYmxlZCBieVxuICogZGVmYXVsdC5cbiAqXG4gKiBgY2FsbHNgIC0gVmVyYm9zZSBsb2dnaW5nIG9mIGVhY2ggZmFhc3QuanMgZW5hYmxlZCBmdW5jdGlvbiBpbnZvY2F0aW9uLlxuICpcbiAqIGB3ZWJwYWNrYCAtIFZlcmJvc2UgbG9nZ2luZyBmcm9tIHdlYnBhY2sgYW5kIHBhY2thZ2luZyBkZXRhaWxzLlxuICpcbiAqIGBwcm92aWRlcmAgLSBWZXJib3NlIGxvZ2dpbmcgb2YgZWFjaCBpbnRlcmFjdGlvbiBiZXR3ZWVuIGZhYXN0LmpzIHJ1bnRpbWUgYW5kXG4gKiB0aGUgcHJvdmlkZXItc3BlY2lmaWMgaW1wbGVtZW50YXRpb24uXG4gKlxuICogYGF3c3Nka2AgLSBWZXJib3NlIGxvZ2dpbmcgb2YgQVdTIFNESy4gVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBpZGVudGlmeWluZ1xuICogd2hpY2ggQVBJIGNhbGxzIGFyZSBmYWlsaW5nLCByZXRyeWluZywgb3IgZW5jb3VudGVyaW5nIHJhdGUgbGltaXRzLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGxvZyA9IHtcbiAgICBpbmZvOiBkZWJ1ZyhcImZhYXN0OmluZm9cIiksXG4gICAgbWluaW1hbDogZGVidWcoXCJmYWFzdDptaW5pbWFsXCIpLFxuICAgIHdhcm46IGRlYnVnKFwiZmFhc3Q6d2FybmluZ1wiKSxcbiAgICBnYzogZGVidWcoXCJmYWFzdDpnY1wiKSxcbiAgICBsZWFrczogZGVidWcoXCJmYWFzdDpsZWFrc1wiKSxcbiAgICBjYWxsczogZGVidWcoXCJmYWFzdDpjYWxsc1wiKSxcbiAgICB3ZWJwYWNrOiBkZWJ1ZyhcImZhYXN0OndlYnBhY2tcIiksXG4gICAgcHJvdmlkZXI6IGRlYnVnKFwiZmFhc3Q6cHJvdmlkZXJcIiksXG4gICAgYXdzc2RrOiBkZWJ1ZyhcImZhYXN0OmF3c3Nka1wiKVxufTtcblxuLyogYzggaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiB0cnVuY2F0ZShzOiBzdHJpbmcsIGxlbjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHMubGVuZ3RoID4gbGVuID8gYCR7cy5zdWJzdHIoMCwgbGVuKX0uLi5gIDogcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3BlY3RQcm92aWRlcihvOiBvYmplY3QpIHtcbiAgICBpZiAoIWxvZy5wcm92aWRlci5lbmFibGVkKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgbmV4dCAgKi9cbiAgICByZXR1cm4gdHJ1bmNhdGUoaW5zcGVjdChvLCBmYWxzZSwgMyksIDEwMjQpO1xufVxuXG5sb2cud2Fybi5lbmFibGVkID0gdHJ1ZTtcbmxvZy5sZWFrcy5lbmFibGVkID0gdHJ1ZTtcbiJdfQ==
;