v1.18.x
Barış Soner Uşaklı 8 years ago
parent 271c10c9d7
commit 9ec65db539

@ -143,7 +143,7 @@ Logger.prepare_io_string = function (_type, _uid, _args) {
* The format is: io: <uid> <event> <args> * The format is: io: <uid> <event> <args>
*/ */
try { 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) { } catch (err) {
winston.info('Logger.prepare_io_string: Failed', err); winston.info('Logger.prepare_io_string: Failed', err);
return 'error'; return 'error';
@ -157,7 +157,9 @@ Logger.io_close = function (socket) {
if (!socket || !socket.io || !socket.io.sockets || !socket.io.sockets.sockets) { if (!socket || !socket.io || !socket.io.sockets || !socket.io.sockets.sockets) {
return; return;
} }
var clients = socket.io.sockets.sockets; var clients = socket.io.sockets.sockets;
for (var sid in clients) { for (var sid in clients) {
if (clients.hasOwnProperty(sid)) { if (clients.hasOwnProperty(sid)) {
var client = clients[sid]; var client = clients[sid];
@ -165,8 +167,8 @@ Logger.io_close = function (socket) {
client.emit = client.oEmit; client.emit = client.oEmit;
} }
if (client.$oEmit && client.$oEmit !== client.$emit) { if (client.$onevent && client.$onevent !== client.onevent) {
client.$emit = client.$oEmit; client.onevent = client.$onevent;
} }
} }
} }
@ -213,8 +215,8 @@ Logger.io_one = function (socket, uid) {
var emit = socket.emit; var emit = socket.emit;
socket.emit = override(emit, 'emit', 'Logger.io_one: emit.apply: Failed'); socket.emit = override(emit, 'emit', 'Logger.io_one: emit.apply: Failed');
socket.$oEmit = socket.$emit; socket.$onvent = socket.onevent;
var $emit = socket.$emit; var $onevent = socket.onevent;
socket.$emit = override($emit, 'on', 'Logger.io_one: $emit.apply: Failed'); socket.onevent = override($onevent, 'on', 'Logger.io_one: $emit.apply: Failed');
} }
}; };

@ -2,30 +2,52 @@
/* global require, after, before*/ /* global require, after, before*/
var async = require('async');
var assert = require('assert'); var assert = require('assert');
var path = require('path'); var path = require('path');
var fs = require('fs');
var db = require('./mocks/databasemock'); var db = require('./mocks/databasemock');
var logger = require('../src/logger'); var logger = require('../src/logger');
var index = require('../src/socket.io'); var index = require('../src/socket.io');
var meta = require('../src/meta'); var meta = require('../src/meta');
var user = require('../src/user');
var helpers = require('./helpers');
describe('logger', function () { describe('logger', function () {
var jar;
var io;
before(function (done) { before(function (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(); done();
}); });
});
});
it('should enable logging', function (done) { it('should enable logging', function (done) {
meta.config.loggerStatus = 1; meta.config.loggerStatus = 1;
meta.config.loggerIOStatus = 1; meta.config.loggerIOStatus = 1;
var loggerPath = path.join(__dirname, '..', 'logs', 'logger.log'); 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 () { setTimeout(function () {
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.loggerStatus = 0;
meta.config.loggerIOStatus = 0; meta.config.loggerIOStatus = 0;
done(); done();
}, 500);
}); });
}); });

Loading…
Cancel
Save