UNPKG

zephyr-agent

Version:
129 lines (128 loc) • 5.37 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, getters, values)=>{ var define = (defs, kind)=>{ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, [kind]: defs[key] }); }; define(getters, "get"); define(values, "value"); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { formatLogMsg: ()=>formatLogMsg, logFn: ()=>logFn, logger: ()=>logger }); const external_zephyr_edge_contract_namespaceObject = require("zephyr-edge-contract"); const get_application_configuration_js_namespaceObject = require("../edge-requests/get-application-configuration.js"); const index_js_namespaceObject = require("../errors/index.js"); const http_request_js_namespaceObject = require("../http/http-request.js"); const token_js_namespaceObject = require("../node-persist/token.js"); const external_debug_js_namespaceObject = require("./debug.js"); const external_file_logger_js_namespaceObject = require("./file-logger.js"); const redaction_js_namespaceObject = require("../security/redaction.js"); const logFn = (level, msg, action)=>{ const messageStr = (0, redaction_js_namespaceObject.redactString)(String(msg)); if ((0, external_file_logger_js_namespaceObject.isFileLoggingEnabled)()) (0, external_file_logger_js_namespaceObject.writeLogToFile)({ level: level, message: messageStr, action, timestamp: Date.now() }); const formatted = formatLogMsg(messageStr, level); switch(level){ case 'warn': console.warn(formatted); break; case 'debug': console.debug(formatted); break; case 'error': console.error(formatted); break; default: console.log(formatted); } }; function toLevelPrefix(level) { switch(level){ case 'warn': return external_debug_js_namespaceObject.brightYellowBgName; case 'debug': return external_debug_js_namespaceObject.brightGreenBgName; case 'error': return external_debug_js_namespaceObject.brightRedBgName; default: return external_debug_js_namespaceObject.brightBlueBgName; } } function formatLogMsg(msg, level = 'info') { return (0, redaction_js_namespaceObject.redactString)(msg).split('\n').map((m)=>`${toLevelPrefix(level)} ${m.trimEnd()}`).join('\n'); } function logger(props) { const { application_uid, buildId, git } = props; const loadLogData = (0, external_zephyr_edge_contract_namespaceObject.PromiseLazyLoad)(()=>Promise.all([ (0, get_application_configuration_js_namespaceObject.getApplicationConfiguration)({ application_uid }), (0, token_js_namespaceObject.getToken)() ])); const url = new URL(external_zephyr_edge_contract_namespaceObject.ze_api_gateway.logs, (0, external_zephyr_edge_contract_namespaceObject.ZE_API_ENDPOINT)()); return function(...logs) { for (const log of logs){ if (!log.level && !log.action) throw new index_js_namespaceObject.ZephyrError(index_js_namespaceObject.ZeErrors.ERR_UNKNOWN, { message: 'Log level and action are required' }); logFn(log.level, log.message, log.action); } loadLogData().then(([config, token])=>void (0, http_request_js_namespaceObject.makeRequest)(url, { method: 'POST', headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, credentialToken: token }, (0, redaction_js_namespaceObject.safeStringifyForLogging)(logs.filter((l)=>l.message.length && !l.ignore).map((log)=>({ application_uid: application_uid, userId: config.user_uuid, username: config.username, zeBuildId: buildId, logLevel: log.level, actionType: log.action, git: git, message: (0, external_zephyr_edge_contract_namespaceObject.stripAnsi)(log.message.trim()), createdAt: Date.now() }))))).catch(()=>void 0); }; } exports.formatLogMsg = __webpack_exports__.formatLogMsg; exports.logFn = __webpack_exports__.logFn; exports.logger = __webpack_exports__.logger; for(var __rspack_i in __webpack_exports__)if (-1 === [ "formatLogMsg", "logFn", "logger" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=ze-log-event.js.map