From 9ec65db53958b283af0d9c2b497927b70c7f61f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 26 May 2017 21:52:08 -0400 Subject: [PATCH] closes #5711 --- src/logger.js | 14 ++++++++------ test/logger.js | 36 +++++++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/logger.js b/src/logger.js index ec449dfd88..d00886b718 100644 --- a/src/logger.js +++ b/src/logger.js @@ -143,7 +143,7 @@ Logger.prepare_io_string = function (_type, _uid, _args) { * The format is: io: */ try { - return 'io: ' + _uid + ' ' + _type + ' ' + util.inspect(Array.prototype.slice.call(_args)) + '\n'; + return 'io: ' + _uid + ' ' + _type + ' ' + util.inspect(Array.prototype.slice.call(_args), { depth: 3 }) + '\n'; } catch (err) { winston.info('Logger.prepare_io_string: Failed', err); return 'error'; @@ -157,7 +157,9 @@ Logger.io_close = function (socket) { if (!socket || !socket.io || !socket.io.sockets || !socket.io.sockets.sockets) { return; } + var clients = socket.io.sockets.sockets; + for (var sid in clients) { if (clients.hasOwnProperty(sid)) { var client = clients[sid]; @@ -165,8 +167,8 @@ Logger.io_close = function (socket) { client.emit = client.oEmit; } - if (client.$oEmit && client.$oEmit !== client.$emit) { - client.$emit = client.$oEmit; + if (client.$onevent && client.$onevent !== client.onevent) { + client.onevent = client.$onevent; } } } @@ -213,8 +215,8 @@ Logger.io_one = function (socket, uid) { var emit = socket.emit; socket.emit = override(emit, 'emit', 'Logger.io_one: emit.apply: Failed'); - socket.$oEmit = socket.$emit; - var $emit = socket.$emit; - socket.$emit = override($emit, 'on', 'Logger.io_one: $emit.apply: Failed'); + socket.$onvent = socket.onevent; + var $onevent = socket.onevent; + socket.onevent = override($onevent, 'on', 'Logger.io_one: $emit.apply: Failed'); } }; diff --git a/test/logger.js b/test/logger.js index 8b455a87ca..6dbdc5f547 100644 --- a/test/logger.js +++ b/test/logger.js @@ -2,30 +2,52 @@ /* global require, after, before*/ - -var async = require('async'); var assert = require('assert'); var path = require('path'); +var fs = require('fs'); var db = require('./mocks/databasemock'); var logger = require('../src/logger'); var index = require('../src/socket.io'); var meta = require('../src/meta'); +var user = require('../src/user'); +var helpers = require('./helpers'); describe('logger', function () { + var jar; + var io; before(function (done) { - done(); + user.create({ username: 'loggeruser', password: '123456' }, function (err) { + assert.ifError(err); + helpers.loginUser('loggeruser', '123456', function (err, _jar, _io) { + assert.ifError(err); + jar = _jar; + io = _io; + done(); + }); + }); }); it('should enable logging', function (done) { meta.config.loggerStatus = 1; meta.config.loggerIOStatus = 1; var loggerPath = path.join(__dirname, '..', 'logs', 'logger.log'); - logger.monitorConfig({ io: index.server }, { loggerPath: loggerPath }); + logger.monitorConfig({ io: index.server }, { key: 'loggerPath', value: loggerPath }); setTimeout(function () { - meta.config.loggerStatus = 0; - meta.config.loggerIOStatus = 0; - done(); + io.emit('meta.rooms.enter', { enter: 'recent_topics' }, function (err) { + assert.ifError(err); + fs.readFile(loggerPath, 'utf-8', function (err, content) { + assert.ifError(err); + assert(content); + done(); + }); + }); }, 500); }); + + after(function (done) { + meta.config.loggerStatus = 0; + meta.config.loggerIOStatus = 0; + done(); + }); });