Logging: To Console
Print Client's log messages to Server's console package. All messages is enhanced with colors and extra styles for better readability.
This package is not limited to transferring Client's log messages to Server. It can be used on client only, or for printing colorized messages on both Client and Server.
Server example:
Client example:
Installation:
meteor add ostrio:logger # If not yet installed meteor add ostrio:loggerconsole
Support this awesome package:
- Star on GitHub
- Star on Atmosphere
- Tweet
- Share on Facebook
Usage
Initialization [Isomorphic]
new LoggerConsole(LoggerInstance)
LoggerInstance
{Logger} - fromnew Logger()
Example: [Isomorphic]
1this.log = new Logger(); // Initialize Logger 2var LogConsole = new LoggerConsole(log); // Initialize LoggerConsole 3LogConsole.enable(); // Enable LoggerConsole with default settings
Activate and set adapter settings: [Isomorphic]
1this.log = new Logger(); 2new LoggerConsole(log).enable({ 3 enable: true, 4 filter: ['ERROR', 'FATAL', 'WARN'], /* Filters: 'ERROR', 'FATAL', 'WARN', 'DEBUG', 'INFO', 'TRACE', '*' */ 5 client: true, /* Output logs on both Server's and Client's console */ 6 server: true /* Calls from Client and Server will be executed on Server */ 7});
Log message: [Isomorphic]
1this.log = new Logger(); 2new LoggerConsole(log).enable(); 3 4/* 5 message {String} - Any text message 6 data {Object} - [optional] Any additional info as object 7 userId {String} - [optional] Current user id 8 */ 9log.info(message, data, userId); 10log.debug(message, data, userId); 11log.error(message, data, userId); 12log.fatal(message, data, userId); 13log.warn(message, data, userId); 14log.trace(message, data, userId); 15log._(message, data, userId); //--> Plain log without level 16 17/* Use with throw */ 18throw log.error(message, data, usmerId);
Catch-all Client's errors example: [CLIENT]
1/* Store original window.onerror */ 2var _WoE = window.onerror; 3 4window.onerror = function(msg, url, line) { 5 log.error(msg, {file: url, onLine: line}); 6 if (_WoE) { 7 _WoE.apply(this, arguments); 8 } 9};
Use multiple logger(s) with different settings: [Isomorphic]
1this.log1 = new Logger(); 2this.log2 = new Logger(); 3 4new LoggerConsole(log1).enable({ 5 filter: ['*'], 6 client: true, 7 server: true 8}); 9 10new LoggerConsole(log2).enable({ 11 filter: ['ERROR', 'FATAL'], 12 client: true, 13 server: true 14});