UNPKG

@loglayer/transport-google-cloud-logging

Version:

Google Cloud Logging (Stackdriver) transport for the LogLayer logging library.

54 lines (50 loc) 1.67 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/GoogleCloudLoggingTransport.ts var _transport = require('@loglayer/transport'); var GoogleCloudLoggingTransport = class extends _transport.BaseTransport { constructor(config) { super(config); this.rootLevelData = config.rootLevelData || {}; this.level = _nullishCoalesce(config.level, () => ( _transport.LogLevel.trace)); } mapLogLevel(level) { switch (level) { case _transport.LogLevel.fatal: return "CRITICAL"; case _transport.LogLevel.error: return "ERROR"; case _transport.LogLevel.warn: return "WARNING"; case _transport.LogLevel.info: return "INFO"; case _transport.LogLevel.debug: return "DEBUG"; case _transport.LogLevel.trace: return "DEBUG"; default: return "DEFAULT"; } } shipToLogger({ data, hasData, logLevel, messages }) { if (_transport.LogLevelPriority[logLevel] < _transport.LogLevelPriority[this.level]) { return []; } const entry = this.logger.entry( { ...this.rootLevelData, severity: this.mapLogLevel(logLevel), timestamp: /* @__PURE__ */ new Date() }, { ...data && hasData ? data : {}, message: messages.join(" ") } ); this.logger.write(entry); if (data && hasData) { return [data, messages]; } return [messages]; } }; exports.GoogleCloudLoggingTransport = GoogleCloudLoggingTransport; //# sourceMappingURL=index.cjs.map