申请SLS日志服务:
- 参照阿里云SLS日志服务文档(https://help.aliyun.com/document_detail/54604.html)
为函数绑定SLS日志:
- 编写SLS日志函数 ```typescript /* @format /
import SLS from ‘@alicloud/log’; const slsClient = new SLS({ accessKeyId: ‘XXXXXX’, accessKeySecret: ‘AAAAAAAAAA’, region: ‘cn-hangzhou’, }); export const log = async (content: {[x: string]: any; content?: any} | null) => { // 将content中的内容进行正确的格式转换符合阿里云SLS格式的规范要求(必须是字符串的一维数据格式) if (typeof content !== ‘object’ || content === null) { content = {content}; } else { const keys = Object.keys(content); for (const k of keys) { if (typeof content[k] != ‘string’) { content[k] = JSON.stringify(content[k]); } } } const errorStack = new Error().stack; const stack: string | undefined = errorStack && errorStack .toString() .split(‘\n’) .slice(2) .join(‘\n’); console.log(content, stack); // 此处参数是SLS日志的project和log-store的名称 await slsClient.postLogStoreLogs(‘fc-log-test-20191023’, ‘fc-test’, { // TODO 支持buffer缓存的打印提速处理细节实现 logs: [ { content: {…content, stack}, timestamp: Math.floor(new Date().getTime() / 1000), }, ], // 多云的需求进行规避处理掉实现方案的需求,不进行私有逻辑特性的处理,做最小云产品的特性依赖。 // tags: [{tag1: ‘testTag1’, tag2: ‘testTag2’}] }); };
```
- 在阿里云SLS日志控制台查看记录