add localfile recorder

This commit is contained in:
加里
2014-10-23 11:07:02 +08:00
parent ecabacc2f8
commit ab3e002885
4 changed files with 59 additions and 13 deletions

View File

@@ -2,12 +2,41 @@
var zlib = require('zlib'),
Datastore = require('nedb'),
util = require("util"),
events = require('events'),
db = new Datastore(); //in-memory store
fs = require("fs"),
events = require('events');
function Recorder(){
//option.filename
function Recorder(option){
var self = this,
id = 1;
id = 1,
db;
option = option || {};
if(option.filename){
try{
if(fs.existsSync(option.filename)){
fs.writeFileSync(option.filename,""); //empty original file
}
db = new Datastore({
filename : option.filename,
autoload :true
});
db.persistence.setAutocompactionInterval(5001);
console.log("db file : " + option.filename);
}catch(e){
console.log(e);
console.log("Failed to load on-disk db file. Will use in-meomory db instead.");
db = new Datastore();
}
}else{
//in-memory db
db = new Datastore();
}
self.recordBodyMap = []; // id - body
@@ -64,6 +93,9 @@ function Recorder(){
self.getSummaryList = function(cb){
db.find({},cb);
};
self.db = db;
}
util.inherits(Recorder, events.EventEmitter);