@loglayer/transport-google-cloud-logging
Version:
Google Cloud Logging (Stackdriver) transport for the LogLayer logging library.
54 lines (50 loc) • 1.67 kB
JavaScript
;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