Messages received by the WebSocket server are now saved in a file

pull/1/head
Yann Flory 9 years ago
parent e77d85bc82
commit 7ee75b9e7f

1
.gitignore vendored

@ -5,3 +5,4 @@ customization
.*.swp .*.swp
*.db *.db
/customize/ /customize/
messages.log

@ -1,6 +1,7 @@
;(function () { 'use strict'; ;(function () { 'use strict';
let Crypto = require('crypto'); let Crypto = require('crypto');
let WebSocket = require('ws'); let WebSocket = require('ws');
let LogStore = require('./storage/LogStore');
let LAG_MAX_BEFORE_DISCONNECT = 30000; let LAG_MAX_BEFORE_DISCONNECT = 30000;
let LAG_MAX_BEFORE_PING = 15000; let LAG_MAX_BEFORE_PING = 15000;
@ -142,7 +143,7 @@ let run = module.exports.run = function (storage, socketServer) {
let ctx = { let ctx = {
users: {}, users: {},
channels: {}, channels: {},
store: storage store: LogStore.create('messages.log', storage)
}; };
setInterval(function () { setInterval(function () {
Object.keys(ctx.users).forEach(function (userId) { Object.keys(ctx.users).forEach(function (userId) {

@ -0,0 +1,20 @@
var Fs = require("fs");
var message = function(file, msg) {
file.write(msg+"\n");
}
var create = module.exports.create = function(filePath, backingStore) {
var file = Fs.createWriteStream(filePath, {flags: 'a+'});
return {
message: function(channel, msg, callback) {
message(file, msg);
backingStore.message(channel, msg, callback);
},
getMessages: backingStore.getMessages
}
}
Loading…
Cancel
Save