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';
|
||||
|
||||
var Console2 = require('./lib/console2.js'),
|
||||
logWriter = require('./lib/logWriter.js'),
|
||||
LogWriter = logWriter.LogWriter,
|
||||
webPanel = require('./lib/webPanel.js');
|
||||
var Console2 = require('./lib/console2.js'),
|
||||
LogWriter = require('./lib/logWriter.js').LogWriter,
|
||||
ExpressLogger = require('./lib/expressLogger.js'),
|
||||
webPanel = require('./lib/webPanel.js');
|
||||
|
||||
|
||||
/**
|
||||
|
@ -209,6 +209,14 @@
|
|||
*/
|
||||
webPanel : initWebPanel,
|
||||
|
||||
/**
|
||||
* express
|
||||
*
|
||||
* Utilities for express
|
||||
* @type {Object}
|
||||
*/
|
||||
express : ExpressLogger,
|
||||
|
||||
/**
|
||||
* Console2
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue