thinkraz-api-sdk
Version:
橡芮科技API开发包
59 lines (54 loc) • 1.74 kB
JavaScript
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;