UNPKG

thinkraz-api-sdk

Version:

橡芮科技API开发包

59 lines (54 loc) 1.74 kB
const Promise = require('bluebird'); const baseClass = require('../lib/baseClass'); const levels = ['log', 'error', 'info', 'warn', 'trace']; class Logs extends baseClass { createLog(event, logObj, level) { if (!level) { level = Logs.LEVEL_LOG; } else { if (levels.indexOf(level) === -1) { throw new Error('Invalid log level'); } } if (!event) event = 'DEFAULT'; if (!logObj) logObj = {}; return new Promise((resolve, reject) => { this.request().post(this.getPath(), Object.assign(logObj, { event: event, level: level })).then(logRecord => { resolve(logRecord); }).catch(err => { reject(err); }); }); } /** * @param {{where:{object},sort:{object},offset:{int},limit:{int}}} options */ findLogs(options) { if (!options) options = {}; return new Promise((resolve, reject) => { this.request().get(this.getPath(), options).then(logResults => { resolve(logResults); }).catch(err => { reject(err); }); }); } getLog(logId) { return new Promise((resolve, reject) => { this.request().get(`${this.getPath()}/${logId}`).then(logRecord => { resolve(logRecord); }).catch(err => { reject(err); }); }); } } Logs.LEVEL_LOG = 'log'; Logs.LEVEL_ERROR = 'error'; Logs.LEVEL_INFO = 'info'; Logs.LEVEL_WARN = 'warn'; Logs.LEVEL_TRACE = 'trace'; module.exports = Logs;