0.3.0 • Published 10 years ago

async-logging v0.3.0

Weekly downloads
95
License
-
Repository
github
Last release
10 years ago

async-logging-node

This module is trying to solve the discrepancy between the async model & the common synchronous logging model

  • Logging types: heartbeat, atomic, transaction
  • Logging params: type, level, msg, uuid, event, parent
  • Transaction: this is the key structure we're trying to restore from async events model
  • Logging proxy: part of this module builds a proxy service which is a websocket server accepting log payload as message pack
  • Logging client: the other part is a client which runs in the application runtime, connecting to websocket, and transferring the log event over
  • MonApp: optional monitoring app which can generate heartbeat logs

API

FunctionDescription
LogCluster
require('log-cluster').LogClusterimporting constructor
new LogCluster(options, emitter)constructor accepts two parameters;
LogBuffer
require('log-buffer').LogBufferimporting constructor
new LogBuffer(emitter,mapper)constructor accepts two parameters, emitter which emits 'log' events and optional mapper which can map log properties to correct format
LogListener
require('log-listener').LogListenerimporting constructor

Installation

npm install async-logging

Usage

Start a proxy service

var LogCluster = require("log-cluster.js").LogCluster,
    CalPublisher = require("cal-publisher.js").CalPublisher;
new LogCluster({LogPublisher:CalPublisher});

Provide a Log Publisher

var CalPublisher = exports.CalPublisher = function(emitter, calMapper, calSender, calCallback){
    //a specific publisher, could be as simple as log file appender
}

Start a client

new require("log-client").LogClient({url:""}); //url must be given

Example

Look at lib/log-server.js. You can start it by typing following commands from the root of the project

npm install
node lib/log-server.js

LogCluster constructor options

  • port: port on which the cluster will run(default 3000)
  • monPort: port of the monitoring app if any(default 3001)
  • cluster: (default true)
  • noWorders number of worker processes to create:
  • connThreshold: max number of connections to accept(default 1024)
  • ecv:
  • heartbeatInterval:
  • LogListener: defaults to 'log-listen.js'
  • LogBuffer: defaults to 'log-buffer.js'
  • LogPublisher: defautls to 'winston-publisher.js'
0.3.0

10 years ago

0.1.24

10 years ago

0.1.22

10 years ago

0.5.0-1125132700

10 years ago

0.1.21

11 years ago

0.1.20

11 years ago

0.1.19

11 years ago

0.1.18

11 years ago

0.1.17

11 years ago

0.1.15

11 years ago

0.1.14

11 years ago

0.1.13

11 years ago

0.1.12

11 years ago

0.1.11

11 years ago

0.1.10

11 years ago

0.1.9

11 years ago

0.1.8

11 years ago

0.1.7

11 years ago

0.1.6

11 years ago

0.2.2

11 years ago

0.1.5

11 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago