rapid-db
Version:
Rapid Database Interface
62 lines (55 loc) • 1.31 kB
JavaScript
/**
* Copyright (c) 2017 Lucky Byte, Inc.
*/
const debug = require('debug')('db');
const winston = require('winston');
let _notify_source = 'Unknown';
/**
* 设置通知来源
*/
const set_source = (source) => {
_notify_source = source;
}
/**
* 插入一条记录到 rapid_notify 数据表
*
* 参数
* level: 级别
* message: 消息内容
* db: 数据库对象,如果为空,则使用全局 _unique_db
* 返回
* 无
*/
const notify = async (level, message, db) => {
db = db || _unique_db;
if (!db) {
throw new Error('数据库对象无效,检查是否已初始化数据库');
}
await db.none(`
insert into rapid_notify (
sender, level, message
) values ($1, $2, $3)
`, [ _notify_source, level, message]);
}
const info = async (message, db) => {
winston.info(message);
await notify(1, message, db);
}
const warn = async (message, db) => {
winston.warn(message);
await notify(2, message, db);
}
const error = async (message, db) => {
winston.error(message);
await notify(3, message, db);
}
const todo = async (message, db) => {
await notify(4, message, db);
}
module.exports = {
set_source: set_source,
info: info,
warn: warn,
error: error,
todo: todo,
};