Add a custom LogWriter example

This commit is contained in:
Guillaume Wuip 2014-10-29 15:08:25 +01:00
parent c9c797e556
commit 4569342455

View file

@ -1,9 +1,48 @@
/* jshint -W079 */
var moment = require('moment'),
path = require('path');
var scribe = require('../scribe.js')({
createDefaultConsole : false
});
/**
* Create a custom LogWriter
*
* It'll save logs under logsConsoleTwo/[user]/[logger]/[DD_MMM_YY].[logger].json
*
* @see lib/logWriter.js for details
*/
var myLogWriter = new scribe.LogWriter('logsConsoleTwo');
myLogWriter.getPath = function (opt) {
return path.join(
this.getUser(),
opt.logger.name
);
};
myLogWriter.getFilename = function (opt) {
var now = moment();
return (now.format('DD_MMM_YY')).toLowerCase() +
'.' +
opt.logger.name +
'.json';
};
/**
* Create 3 console2 instances
*/
var consoleOne = scribe.console({
console : {
colors : 'white'
@ -13,14 +52,14 @@ var consoleOne = scribe.console({
}
});
var consoleTwo = scribe.console({
console : {
colors : 'inverse'
var consoleTwo = scribe.console(
{
console : {
colors : 'inverse'
}
},
logWriter : {
rootPath : 'logsConsoleTwo' //all logs in ./logsConsoleTwo
}
});
myLogWriter //don't pass a logWriter config, but a custom LogWriter instead
);
var consoleThree = scribe.console({
console : {
@ -29,6 +68,13 @@ var consoleThree = scribe.console({
logWriter : false //don't save logs on disk
});
/**
* Use the consoles
*
* Then check logsConsoleOne and logsConsoleTwo folders
*/
consoleOne.addLogger('log');
consoleTwo.addLogger('log');
consoleThree.addLogger('log');
@ -36,3 +82,4 @@ consoleThree.addLogger('log');
consoleOne.time().log('Hello World from consoleOne');
consoleTwo.time().log('Hello World from consoleTwo');
consoleThree.time().log('Hello World from consoleThree');