forked from mirrors/Scribe.js
ExpressLogger
This commit is contained in:
parent
03da642d5e
commit
4d1f4e6ac6
2 changed files with 68 additions and 4 deletions
56
lib/expressLogger.js
Normal file
56
lib/expressLogger.js
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/* jshint -W098 */
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
var colorsjs = require('colors/safe'),
|
||||||
|
Console2 = require('./console2');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* logger
|
||||||
|
*
|
||||||
|
* @param {Console2|undefined} console
|
||||||
|
* @param {Function|undefined} validate
|
||||||
|
*/
|
||||||
|
var logger = function (console, validate) {
|
||||||
|
|
||||||
|
if (!(console instanceof Console2)) {
|
||||||
|
|
||||||
|
if (!(process.console instanceof Console2)) {
|
||||||
|
throw new Error("No process.console");
|
||||||
|
} else {
|
||||||
|
console = process.console;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (console.info === undefined) {
|
||||||
|
throw new Error("No 'log' logger attach to console");
|
||||||
|
}
|
||||||
|
|
||||||
|
return function (req, res, next) {
|
||||||
|
|
||||||
|
if (!validate || validate(req, res)) {
|
||||||
|
|
||||||
|
console
|
||||||
|
.time()
|
||||||
|
.tag(
|
||||||
|
{msg : 'Express', colors : 'cyan'},
|
||||||
|
{msg : req.ip, colors : 'red'},
|
||||||
|
{msg : req.method, colors : 'green'},
|
||||||
|
{
|
||||||
|
msg : (/mobile/i.test(req.headers['user-agent']) ? 'MOBILE' : 'DESKTOP'),
|
||||||
|
colors : 'grey'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.info(req.url);
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
logger : logger
|
||||||
|
|
||||||
|
};
|
||||||
|
}());
|
16
scribe.js
16
scribe.js
|
@ -4,10 +4,10 @@
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var Console2 = require('./lib/console2.js'),
|
var Console2 = require('./lib/console2.js'),
|
||||||
logWriter = require('./lib/logWriter.js'),
|
LogWriter = require('./lib/logWriter.js').LogWriter,
|
||||||
LogWriter = logWriter.LogWriter,
|
ExpressLogger = require('./lib/expressLogger.js'),
|
||||||
webPanel = require('./lib/webPanel.js');
|
webPanel = require('./lib/webPanel.js');
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -209,6 +209,14 @@
|
||||||
*/
|
*/
|
||||||
webPanel : initWebPanel,
|
webPanel : initWebPanel,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* express
|
||||||
|
*
|
||||||
|
* Utilities for express
|
||||||
|
* @type {Object}
|
||||||
|
*/
|
||||||
|
express : ExpressLogger,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Console2
|
* Console2
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue