Loggert
Easy and flexible logging in Node.
Usage
Getting started
For one process, the configuration of Loggert must be set once. Here is an example using some of the built in transports and formatters:
var log = 'my-namespace'; var ConsoleTransport = logtransportsConsole;var FileTransport = logtransportsFile; var DefaultFormatter = logformattersDefault;var RawFormatter = logformattersRaw; log; var x = 200; // The first argument is always the "message", all following arguments should containg extra info.log;
Custom transports and formatters
Transports and formatters are simple objects. Creating a custom transport or formatter is easy.
Transports must have a write
function and a level
property (being one of the log levels or an array of log levels).
A formatter must have a format
function.
Here is an example of a custom transport with a custom formatter:
{ thiscolorize = optionscolorize || false;} MyFormatterprototype { var formattedLogObject = logObjectnamespace + ': ' + logObjectmessage; if thiscolorize formattedLogObject = ; return formattedLogObject;}; { if !optionsformatter throw 'CustomTransport transporter has no formatter.'; thislevel = optionslevel || 'trace' // Default to "trace" level thisformatter = optionsformatter;} CustomTransportprototype { // Write the logObject somewhere. console;} // Set up loggert;var log = ;log;
Namespaces
Each time loggert is required, a namespace can be defined. The namespace will be added as a prefix to messages. For example:
// webservice.jsvar log = 'webservice-example';
// database.jsvar log = 'database-example';
Log levels
There are 6 log levels available. These are functions on the loggert
instance.
trace
is the lowest level, fatal
is the highest level.
- trace
- debug
- info
- warn
- error
- fatal