New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

monolog

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

monolog

Log with Monolog

latest
Source
npmnpm
Version
0.0.5
Version published
Maintainers
1
Created
Source

mongolog.js

https://github.com/Mparaiso/monolog.js

NPM

Build Status

Coverage Status

###Log everything everywhere, monolog for javascript and node

author mparaiso mparaiso@online.fr

heavily inspired by monolog PHP library

###Installation

npm install -g monolog

####Handlers

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

####Processors

  • 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 monolog = require('monolog')
		, Logger = monolog.Logger
		, StreamHandler = monolog.handler.StreamHandler;

	//create a Log channel
	var log = new Logger('name')
	//create a Log handler
	log.pushHandler(new StreamHandler('/path/to/your.log',Logger.DEBUG))
	//listen to log events
	log.on("log",function(error,record,handler){console.log(arguments)});
	// add records to the log
	log.warn('Foo')
	log.err('Bar')
	log.debug('Baz')

####Server request logging

	var http, logger, monolog, port, server, webProcessor;

	http = require('http');
	monolog = require('monolog');
	port = 3000;
	server = http.createServer();
	logger = new monolog.Logger("server logger");
	logger.pushHandler(new monolog.handler.ConsoleLogHandler);
	// a WebProcessor extracts data from each request and add it to the log records
	logger.pushProcessor(new monolog.processor.WebProcessor(server));

	server.on('request', function(req, res) {
	  logger.info('logging request');
	  return res.end('ok!');
	});

	server.listen(3000);

	console.log("listening on port " + port);

CouchDB Logging

	var monolog,logger;

	monolog=require('monolog');
	logger = new monolog.Logger("couchdb logger");
	logger.pushHandler(new monolog.handler.CouchDBHandler({
		host:"localhost",
		dbname:"logger"
	}));
	logger.on('log',function(err,res,record,handler){
		console.log(arguments);
	});
	logger.info('Logging to couchdb');

MongoDB Logging ( with mongodb package)

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

Creating a simple logger middleware for express

in a file called logger.js

	 "use strict";
	 /**
	  * monolog middleware for connect and express
	  * USAGE
	  * =====
	  * var app=express()
	  * app.use(logger.middleware(app,"debugging"));
	  * 
	  */
	 var monolog = require('monolog');
	 /**
	  * @type {monolog.Logger}
	  */
	 var logger = new monolog.Logger("express logger");

	 logger.addHandler(new monolog.handler.StreamHandler(__dirname + "/../temp/log.txt"));
	 /**
	  * [middleware description]
	  * @param  {Express} app     express app
	  * @param  {String} message log message
	  * @return {Function}         middleware
	  */
	 logger.middleware = function(app, message) {
	 	message = message || "debug";
	 	logger.addProcessor(new monolog.processor.ExpressProcessor(app));
	 	app.set('logger', logger);
	 	var F =  function(req, res, next) {
	 		logger.debug(message);
	 		next();
	 	};
	 	F.logger = logger;
	 	return F;
	 };

	 module.exports = logger;

Keywords

log

FAQs

Package last updated on 22 Jan 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts