mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-08 23:15:48 +01:00
logger init test
This commit is contained in:
@@ -8,10 +8,11 @@ var fs = require('fs');
|
|||||||
var path = require('path');
|
var path = require('path');
|
||||||
var winston = require('winston');
|
var winston = require('winston');
|
||||||
var util = require('util');
|
var util = require('util');
|
||||||
|
var morgan = require('morgan');
|
||||||
|
|
||||||
var file = require('./file');
|
var file = require('./file');
|
||||||
var meta = require('./meta');
|
var meta = require('./meta');
|
||||||
var morgan = require('morgan');
|
|
||||||
|
|
||||||
var opts = {
|
var opts = {
|
||||||
/*
|
/*
|
||||||
@@ -27,21 +28,20 @@ var opts = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* -- Logger -- */
|
/* -- Logger -- */
|
||||||
|
var Logger = module.exports;
|
||||||
|
|
||||||
(function (Logger) {
|
Logger.init = function (app) {
|
||||||
Logger.init = function (app) {
|
|
||||||
opts.express.app = app;
|
opts.express.app = app;
|
||||||
/* Open log file stream & initialize express logging if meta.config.logger* variables are set */
|
/* Open log file stream & initialize express logging if meta.config.logger* variables are set */
|
||||||
Logger.setup();
|
Logger.setup();
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.setup = function () {
|
Logger.setup = function () {
|
||||||
Logger.setup_one('loggerPath', meta.config.loggerPath);
|
Logger.setup_one('loggerPath', meta.config.loggerPath);
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.setup_one = function (key, value) {
|
Logger.setup_one = function (key, value) {
|
||||||
/*
|
/*
|
||||||
* 1. Open the logger stream: stdout or file
|
* 1. Open the logger stream: stdout or file
|
||||||
* 2. Re-initialize the express logger hijack
|
* 2. Re-initialize the express logger hijack
|
||||||
@@ -50,9 +50,9 @@ var opts = {
|
|||||||
Logger.setup_one_log(value);
|
Logger.setup_one_log(value);
|
||||||
Logger.express_open();
|
Logger.express_open();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.setup_one_log = function (value) {
|
Logger.setup_one_log = function (value) {
|
||||||
/*
|
/*
|
||||||
* If logging is currently enabled, create a stream.
|
* If logging is currently enabled, create a stream.
|
||||||
* Otherwise, close the current stream
|
* Otherwise, close the current stream
|
||||||
@@ -67,9 +67,9 @@ var opts = {
|
|||||||
} else {
|
} else {
|
||||||
Logger.close(opts.streams.log);
|
Logger.close(opts.streams.log);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.open = function (value) {
|
Logger.open = function (value) {
|
||||||
/* Open the streams to log to: either a path or stdout */
|
/* Open the streams to log to: either a path or stdout */
|
||||||
var stream;
|
var stream;
|
||||||
if (value) {
|
if (value) {
|
||||||
@@ -95,25 +95,25 @@ var opts = {
|
|||||||
stream = process.stdout;
|
stream = process.stdout;
|
||||||
}
|
}
|
||||||
return stream;
|
return stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.close = function (stream) {
|
Logger.close = function (stream) {
|
||||||
if (stream.f !== process.stdout && stream.f) {
|
if (stream.f !== process.stdout && stream.f) {
|
||||||
stream.end();
|
stream.end();
|
||||||
}
|
}
|
||||||
stream.f = null;
|
stream.f = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.monitorConfig = function (socket, data) {
|
Logger.monitorConfig = function (socket, data) {
|
||||||
/*
|
/*
|
||||||
* This monitor's when a user clicks "save" in the Logger section of the admin panel
|
* This monitor's when a user clicks "save" in the Logger section of the admin panel
|
||||||
*/
|
*/
|
||||||
Logger.setup_one(data.key, data.value);
|
Logger.setup_one(data.key, data.value);
|
||||||
Logger.io_close(socket);
|
Logger.io_close(socket);
|
||||||
Logger.io(socket);
|
Logger.io(socket);
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.express_open = function () {
|
Logger.express_open = function () {
|
||||||
if (opts.express.set !== 1) {
|
if (opts.express.set !== 1) {
|
||||||
opts.express.set = 1;
|
opts.express.set = 1;
|
||||||
opts.express.app.use(Logger.expressLogger);
|
opts.express.app.use(Logger.expressLogger);
|
||||||
@@ -122,9 +122,9 @@ var opts = {
|
|||||||
* Always initialize "ofn" (original function) with the original logger function
|
* Always initialize "ofn" (original function) with the original logger function
|
||||||
*/
|
*/
|
||||||
opts.express.ofn = morgan('combined', { stream: opts.streams.log.f });
|
opts.express.ofn = morgan('combined', { stream: opts.streams.log.f });
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.expressLogger = function (req, res, next) {
|
Logger.expressLogger = function (req, res, next) {
|
||||||
/*
|
/*
|
||||||
* The new express.logger
|
* The new express.logger
|
||||||
*
|
*
|
||||||
@@ -134,9 +134,9 @@ var opts = {
|
|||||||
return opts.express.ofn(req, res, next);
|
return opts.express.ofn(req, res, next);
|
||||||
}
|
}
|
||||||
return next();
|
return next();
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.prepare_io_string = function (_type, _uid, _args) {
|
Logger.prepare_io_string = function (_type, _uid, _args) {
|
||||||
/*
|
/*
|
||||||
* This prepares the output string for intercepted socket.io events
|
* This prepares the output string for intercepted socket.io events
|
||||||
*
|
*
|
||||||
@@ -148,9 +148,9 @@ var opts = {
|
|||||||
winston.info('Logger.prepare_io_string: Failed', err);
|
winston.info('Logger.prepare_io_string: Failed', err);
|
||||||
return 'error';
|
return 'error';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.io_close = function (socket) {
|
Logger.io_close = function (socket) {
|
||||||
/*
|
/*
|
||||||
* Restore all hijacked sockets to their original emit/on functions
|
* Restore all hijacked sockets to their original emit/on functions
|
||||||
*/
|
*/
|
||||||
@@ -170,9 +170,9 @@ var opts = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.io = function (socket) {
|
Logger.io = function (socket) {
|
||||||
/*
|
/*
|
||||||
* Go through all of the currently established sockets & hook their .emit/.on
|
* Go through all of the currently established sockets & hook their .emit/.on
|
||||||
*/
|
*/
|
||||||
@@ -187,9 +187,9 @@ var opts = {
|
|||||||
Logger.io_one(clients[sid], clients[sid].uid);
|
Logger.io_one(clients[sid], clients[sid].uid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.io_one = function (socket, uid) {
|
Logger.io_one = function (socket, uid) {
|
||||||
/*
|
/*
|
||||||
* This function replaces a socket's .emit/.on functions in order to intercept events
|
* This function replaces a socket's .emit/.on functions in order to intercept events
|
||||||
*/
|
*/
|
||||||
@@ -217,5 +217,4 @@ var opts = {
|
|||||||
var $emit = socket.$emit;
|
var $emit = socket.$emit;
|
||||||
socket.$emit = override($emit, 'on', 'Logger.io_one: $emit.apply: Failed');
|
socket.$emit = override($emit, 'on', 'Logger.io_one: $emit.apply: Failed');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}(exports));
|
|
||||||
|
|||||||
Reference in New Issue
Block a user