diff --git a/.eslintrc.json b/.eslintrc.json index c925ad0..d5ccaee 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,4 +11,4 @@ "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/explicit-module-boundary-types": "off" } -} \ No newline at end of file +} diff --git a/.prettierrc.json b/.prettierrc.json index daa132d..b2095be 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,4 @@ { - "printWidth": 160, "semi": false, "singleQuote": true } diff --git a/package.json b/package.json index 8050fa9..3ea494d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "build": "rm -rf dist && tsc && cp package.json *.md dist && rm -rf dist/test", "test": "node dist/test", "lint": "eslint .", - "prettier": "prettier -w .", + "format": "prettier -w .", "sync": "curl -X PUT 'https://npm.taobao.org/sync/coa-ali-sls?sync_upstream=true'" }, "dependencies": { diff --git a/src/lib/AliSlsBin.ts b/src/lib/AliSlsBin.ts index 2aedaa7..e32c530 100644 --- a/src/lib/AliSlsBin.ts +++ b/src/lib/AliSlsBin.ts @@ -16,7 +16,9 @@ export class AliSlsBin { const headers = this.getHeaders('GET', path) const baseURL = `https://${this.config.project}.${this.config.endpoint}` - const result = await axios.get(url, { params, headers, baseURL }).catch(this.resultError) + const result = await axios + .get(url, { params, headers, baseURL }) + .catch(this.resultError) return this.resultResponse(result) } @@ -44,7 +46,9 @@ export class AliSlsBin { return { body, info } } - private getSortQueryString(params: AliSls.Dic) { + private getSortQueryString( + params: AliSls.Dic + ) { const list = [] as string[] _.forEach(params, (v, k) => { list.push(k + '=' + v) @@ -52,7 +56,11 @@ export class AliSlsBin { return list.sort().join('&') } - private getHeaders(method: string, path: string, headers: AliSls.Dic = {}) { + private getHeaders( + method: string, + path: string, + headers: AliSls.Dic = {} + ) { _.defaults(headers, { 'x-log-bodyrawsize': '0', 'x-log-apiversion': '0.6.0', @@ -82,7 +90,11 @@ export class AliSlsBin { signs.push(...x_list.sort()) signs.push(path) - const signature = secure.sha1_hmac(signs.join('\n'), this.config.accessKeySecret, 'base64') + const signature = secure.sha1_hmac( + signs.join('\n'), + this.config.accessKeySecret, + 'base64' + ) return `LOG ${this.config.accessKeyId}:${signature}` } diff --git a/src/lib/AliSlsQuery.ts b/src/lib/AliSlsQuery.ts index 53b871c..8a1c845 100644 --- a/src/lib/AliSlsQuery.ts +++ b/src/lib/AliSlsQuery.ts @@ -53,8 +53,17 @@ export class AliSlsQuery { * @param field 列名 * @param alias 输出别名 */ - timeSeries(field: string, alias: string, grainSize: string, format = '%Y-%m-%d %H:%i', padding = 0) { - return this.column(`time_series(${field}, '${grainSize}', '${format}', '${padding}')`, alias) + timeSeries( + field: string, + alias: string, + grainSize: string, + format = '%Y-%m-%d %H:%i', + padding = 0 + ) { + return this.column( + `time_series(${field}, '${grainSize}', '${format}', '${padding}')`, + alias + ) } /** @@ -166,10 +175,18 @@ export class AliSlsQuery { * @param wrapValue 是否把值当作字符串处理 是:在查询值两边添加单引号 否:不添加单引号 * @param checkEmpty true进行空值检查,false不进行空值检查 */ - private where(field: string, operate: string, value: string, wrapValue: boolean, checkEmpty: boolean) { + private where( + field: string, + operate: string, + value: string, + wrapValue: boolean, + checkEmpty: boolean + ) { // 当开启空值检查 并且当前值为空的时候跳过该值 if (checkEmpty && !value) return this - const str = wrapValue ? `"${field}" ${operate} '${value}'` : `"${field}" ${operate} ${value}` + const str = wrapValue + ? `"${field}" ${operate} '${value}'` + : `"${field}" ${operate} ${value}` this._where.push(str) return this } diff --git a/src/service/AliSlsPageService.ts b/src/service/AliSlsPageService.ts index 3d1edf9..75782b6 100644 --- a/src/service/AliSlsPageService.ts +++ b/src/service/AliSlsPageService.ts @@ -10,7 +10,11 @@ export class AliSlsPageService { /** * 获取日志查询控制台链接 */ - getLogSearchConsolePageUrl(project: string, logstore: string, params: { [key: string]: string }) { + getLogSearchConsolePageUrl( + project: string, + logstore: string, + params: { [key: string]: string } + ) { const search = new URLSearchParams(params).toString() return `${baseURL}/lognext/project/${project}/logsearch/${logstore}?${search}` } @@ -18,7 +22,11 @@ export class AliSlsPageService { /** * 获取快速查询控制台链接 */ - getSavedSearchConsolePageUrl(project: string, savedsearch: string, params: { [key: string]: string }) { + getSavedSearchConsolePageUrl( + project: string, + savedsearch: string, + params: { [key: string]: string } + ) { const search = new URLSearchParams(params).toString() return `${baseURL}/lognext/project/${project}/savedsearch/${savedsearch}?${search}` } @@ -26,7 +34,11 @@ export class AliSlsPageService { /** * 获取仪表盘控制台链接 */ - getDashboardConsolePageUrl(project: string, dashboard: string, params: { [key: string]: string }) { + getDashboardConsolePageUrl( + project: string, + dashboard: string, + params: { [key: string]: string } + ) { const search = new URLSearchParams(params).toString() return `${baseURL}/lognext/project/${project}/dashboard/${dashboard}?${search}` } diff --git a/src/service/AliSlsService.ts b/src/service/AliSlsService.ts index 8881f26..b24ddd2 100644 --- a/src/service/AliSlsService.ts +++ b/src/service/AliSlsService.ts @@ -17,7 +17,13 @@ export class AliSlsService { name: string, from: number, to: number, - param?: { query?: string; topic?: string; offset?: number; line?: number; reverse?: boolean } + param?: { + query?: string + topic?: string + offset?: number + line?: number + reverse?: boolean + } ) { const params = { type: 'log', @@ -33,7 +39,18 @@ export class AliSlsService { } // GetLogs 接口查询指定 Project 下某个 Logstore 中的日志数据 - async getLogs(name: string, from: Dayjs, to: Dayjs, param?: { query?: string; topic?: string; offset?: number; line?: number; reverse?: boolean }) { + async getLogs( + name: string, + from: Dayjs, + to: Dayjs, + param?: { + query?: string + topic?: string + offset?: number + line?: number + reverse?: boolean + } + ) { const params = { type: 'log', from: from.unix(), @@ -45,7 +62,13 @@ export class AliSlsService { } // 查询指定 Project 下某个 Logstore 中日志的分布情况 - async getHistograms(name: string, from: Dayjs, to: Dayjs, query?: string, topic?: string) { + async getHistograms( + name: string, + from: Dayjs, + to: Dayjs, + query?: string, + topic?: string + ) { const params = { type: 'histogram', from: from.unix(), diff --git a/src/test/test-page-service.ts b/src/test/test-page-service.ts index f81464c..4988f4b 100644 --- a/src/test/test-page-service.ts +++ b/src/test/test-page-service.ts @@ -4,7 +4,11 @@ import { AliSlsPageService } from '..' $.run(async () => { const pageService = new AliSlsPageService() - const url = pageService.getLogSearchConsolePageUrl('xxx-project-xxx', 'xxx-logstore-xx', { isShare: 'true' }) + const url = pageService.getLogSearchConsolePageUrl( + 'xxx-project-xxx', + 'xxx-logstore-xx', + { isShare: 'true' } + ) console.log(url) })