@sh4dow/monolog

0.1.1 • Public • Published

Mongolog for node

Log everything everywhere, monolog for javascript and node

Monolog for node is heavily inspired by monolog PHP library that was written by mparaiso mparaiso@online.fr and now rewritten again.

Installation

npm install @sh4dow/monolog

Handlers

  • ConsoleLogHandler : log to console
  • StreamHandler : log to a stream
  • CouchDBHandler : log to CouchDB
  • MongoDBHandler : log to MongoDB
  • TestHandler : log to an array
  • NullHandler : logging to /dev/null

Processors (work in progress)

  • ExpressProcessor : get express request data
  • WebProcessor : get server data

Formatters

  • JSONFormatter : format log to JSON
  • LineFormatter : format log to a string

###Usage

####Basic usage

	var {Logger, formatter, handler} = require('@sh4dow/monolog');

	// create log channel
	var log = new Logger('name')

	// make formatter
	var jsonFormat = new formatter.JSONFormatter();
	// create handler
	var consoleLog = new handler.ConsoleLogHandler(Logger.DEBUG);
	//set formatter for handler
	consoleLog.setFormatter(jsonFormat);
	// add handler to created channel
	log.addHandler(consoleLog);

	// save all logs to file
	log.pushHandler(new StreamHandler('/path/to/your.log',Logger.DEBUG));

	// add records to the log
	log.info('InFo');
	log.warning('Foo');
	log.error('Bar');
	log.debug('Baz');

CouchDB Logging

	
	const {Logger, handler} = require('@sh4dow/monolog');
	logger = new Logger("couchdb logger");
	logger.pushHandler(new handler.CouchDBHandler({
		host:"localhost",
		dbname:"logger"
	}));
	
	logger.info('Logging to couchdb');

MongoDB Logging ( with mongodb package)

	
	const {Logger, handler} = require('@sh4dow/monolog');
	const mongodb = require('mongodb').MongoClient.connect("localhost",function(err,db){
		logger = new Logger("channel name");
		logger.pushHandler(new handler.MongoDBHandler(db,"log_collection"));
		logger.info("log message");
	});

Missing express.js and webServer processors will be soon.

Readme

Keywords

Package Sidebar

Install

npm i @sh4dow/monolog

Weekly Downloads

0

Version

0.1.1

License

LGPL

Unpacked Size

26.2 kB

Total Files

29

Last publish

Collaborators

  • sh4dow