UNPKG

@loglayer/transport-google-cloud-logging

Version:

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

54 lines 1.38 kB
// src/GoogleCloudLoggingTransport.ts import { BaseTransport, LogLevel, LogLevelPriority } from "@loglayer/transport"; var GoogleCloudLoggingTransport = class extends BaseTransport { rootLevelData; level; constructor(config) { super(config); this.rootLevelData = config.rootLevelData || {}; this.level = config.level ?? LogLevel.trace; } mapLogLevel(level) { switch (level) { case LogLevel.fatal: return "CRITICAL"; case LogLevel.error: return "ERROR"; case LogLevel.warn: return "WARNING"; case LogLevel.info: return "INFO"; case LogLevel.debug: return "DEBUG"; case LogLevel.trace: return "DEBUG"; default: return "DEFAULT"; } } shipToLogger({ data, hasData, logLevel, messages }) { if (LogLevelPriority[logLevel] < 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]; } }; export { GoogleCloudLoggingTransport }; //# sourceMappingURL=index.js.map