Overview
This module is a part of yocto node modules for NodeJS.
Please see https://www.npmjs.com/~yocto for complete list of available module (completed day after day).
This module manage your own logger request on your node app.
This module his based on winston package.
IMPORTANT : This module is not a complete reimplantation of winston we only use winston for the core process.
IMPORTANT : This module shared logger by default in next major release group logger will be add
Motivation
In all of our project we use a logger library like winston. But all the time we need to configure again and again the same library.
That why we decided to create yocto-Logger.
This tool is designed to be a very very simple and pre-configured and ready to use tool based on the universal logging library winston.
Configuration : console transport
By default a console is configured with these options : (Cf. winston & momentjs documentation for more details)
level : 'debug' handleExceptions : false json : false showLevel : true silent : false { // return special timestamp format return ; };
Configuration : daily rotate transport
By default a daily rotate transport is configured with these options : (Cf. winston & momentjs documentation for more details)
name : 'default-daily-rotate-transport' level : 'verbose' dirname : './' filename : uuid // default name if name is not given handleExceptions : true json : false maxsize : 5242880 maxFiles : 5 colorize : true datePattern : '-yyyy-MM-dd.log' { // return special timestamp format return ; };
Logging Method
Avaiblable methods are :
- error (for error message)
- warning (for warning message)
- info (for information message)
- debug (for debug message)
- verbose (for normal message)
var logger = ;// error messagelogger;// warning messagelogger;// info messagelogger;// debug messagelogger;// verbose messagelogger;// banner messagelogger;
Banner Method
To display on console.log a more significant message we implemened a banner method. You can customize style (color and background color) of message but is not save on available transports.
var logger = ;// banner usagelogger;
Transport : Adding a new daily rotate transport
var logger = ; // add new daily rotate transport with default configlogger; // add new daily rotate transport and process new action when async is finishlogger; // add new daily transport on specific path + changing filename and more optionslogger;
Change level manually
You can change current logger level manually by method setLogLevel(name)
.
Property name
of this function must be one of these values :
- error (for error message)
- warning (for warning message)
- info (for information message)
- debug (for debug message)
- verbose (for normal message)
For example if we need to set current logger instance to error
level :
var logger = ; logger;// YOUR Extra code here
Utility Methods
For a better usage we can interact with all transport by utility methods. Methods available are :
- more :to change the log level to a higher level
- less : to change the log level to a less level
- enableConsole : to enable console transport if is disable
- disableConsole : to disable console transport if is enable
- enableExceptions : to enable catch exception on logger if is disable
- disableExceptions : to disable catch exception on logger if is enable
var logger = ; // Less & more - initial level is debuglogger; // level change to verboselogger; // level change to debug // Others methodlogger;logger;logger;logger;