logbeacon
Version:
浏览器端日志采集与上报工具,支持多种日志服务后端,包括阿里云日志服务(SLS)和Grafana Loki
1 lines • 1.43 kB
Source Map (JSON)
{"version":3,"file":"lokiClient.cjs","sources":["../../loki/lokiClient.js"],"sourcesContent":["/**\n * 创建 loki 日志服务客户端\n * @param {string} url - 服务入口,例如 \"https://logs-prod-030.grafana.net\"\n * @param {string} user - 用户名\n * @param {string} token - loki 有写入日志权限的token\n * @returns {Function} - 返回一个用于发送日志的函数\n */\nexport const createLogClient = (url, user, token) => {\n const LOKI_AUTH = 'Basic ' + Buffer.from(`${user}:${token}`).toString('base64');\n\n /**\n * 发送序列化后的日志数据\n * @param {Uint8Array} payload - 已经序列化的日志数据\n * @returns {Promise<Object>} - 响应结果\n */\n return function sendLogs(payload) {\n return fetch(`${url}/loki/api/v1/push`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Content-Encoding': 'gzip',\n 'Authorization': LOKI_AUTH,\n },\n body: payload,\n // @ts-ignore\n duplex: 'half',\n });\n };\n};"],"names":["url","user","token","LOKI_AUTH","Buffer","from","toString","payload","fetch","method","headers","Authorization","body","duplex"],"mappings":"qCAO+B,CAACA,IAAKC,KAAMC,SACzC,MAAMC,UAAY,SAAWC,OAAOC,KAAK,GAAGJ,QAAQC,SAASI,SAAS,UAOtE,OAAO,SAAkBC,SACvB,OAAOC,MAAM,GAAGR,uBAAwB,CACtCS,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChB,mBAAoB,OACpBC,cAAiBR,WAEnBS,KAAML,QAENM,OAAQ,QAEd,CAAG"}