UNPKG

@imqueue/async-logger

Version:

Configurable async logger over winston for @imqueue services

54 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pkg = pkg; exports.transportsConfig = transportsConfig; exports.defaultMetadata = defaultMetadata; const path_1 = require("path"); const fs_1 = require("fs"); const RX_NAME = /%name/g; const RX_VERSION = /%version/g; /** * Retrieve package name and version from package.json of running service * * @returns {name: string, value: string} - return package name and version */ function pkg() { const pkgPath = (0, path_1.resolve)(process.cwd(), 'package.json'); const { name, version } = (0, fs_1.existsSync)(pkgPath) ? require(pkgPath) : { name: 'logger', version: '' }; return { name, version }; } /** * Used for retrieve transport config from environment variables * * @returns {TransportOptions[]} */ function transportsConfig() { const { name, version } = pkg(); try { return JSON.parse((process.env.LOGGER_TRANSPORTS || '[]') .replace(RX_NAME, name) .replace(RX_VERSION, version)); } catch (err) { throw new TypeError(`Logger: can not parse transports config: ${err.stack ? err.stack : err.message}`); } } /** * Returns default metadata, configured by environment variables * * @returns {JsonObject} */ function defaultMetadata() { const { name, version } = pkg(); try { return JSON.parse((process.env.LOGGER_METADATA || '{}') .replace(RX_NAME, name) .replace(RX_VERSION, version)); } catch (err) { throw new TypeError(`Logger: can not parse metadata: ${err.stack ? err.stack : err.message}`); } } //# sourceMappingURL=env.js.map