Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Socket server for external apps to ship logs in a non-blocking fashion.
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
.gitignore
README.md
license.txt
package.json
transports.json-dist

README.md

Zlogd

Logging server for external apps that communicates over unix sock files.

Install

For Typical Usage

npm install -g zlogd
cp /path/to/your/usr/local/bin/zlogd/transports.json-dist /path/to/your/usr/local/bin/zlogd/transports.json

For Local Development

npm install zlogd
cp transports.json-dist transports.json

Configuring

You can configure the transports to ship the logs.

Currently supported transports:

{
    "type": "file",
    "config": {
        "filename": "/tmp/out.log" 
    }
}
{
    "type": "logstash",
    "config": {
        "host": "127.0.0.1",
        "port": 28777
    }
}

Running

Environment Switches

Several process variables can be set to alter the runtime of Zlogd:

  • SOCK_FILE - Path of the unix socket file (default: /tmp/zlogd.sock)
  • WORKERS - Number of workers to use (default: System number of CPUs)
  • STAT_MONITOR - Should the stat monitor run? (default: 0)
  • STAT_PULSE - How often will the stats aggregate/display? (default: 3000 milliseconds)
  • DELIMITER - What is the delimiter that separates log messages? (default: ;;)

Command Line Switches

As of 0.2.x, CLI commands are available that can be used in place of environment variables:

  • -h, --help - output usage information
  • -V, --version - output the version number
  • -f, --forground - Run zlogd in the forground.
  • -w, --workers [number] - Run zlogd with set number of workers. Defaulting to number of CPUs.
  • -i, --input-socketfile [path] - Path (/tmp/zlog.sock) to sock file for zlogd to listen.
  • -d, --delimiter [delimiter] - The delimiter symbol (;;) to indicate to zlogd separate messages per request.
  • -s, --stat-monitor - Run zlogd with a statmonitor.
  • -p, --stat-pulse [milliseconds] - Stat monitor pulses at this rate (3000).

Local:

npm start

global:

zlogd

As of version 0.2.0, running this process will default to running as a daemon. You can view the processes in linux/mac by doing ps -A | grep -i zlogd.

Send a Log Message

Here is an example PHP script sending a log message to zlogd:

<?php

$socket = fsockopen('unix:///tmp/zlog.sock', 0);
$delimiter = ';;';
$packet = json_encode(array(
        'level' => 'debug',
        'message' => 'hello world!'
)) . $delimiter;
fputs($socket, $packet, strlen($packet));

Todo

  • Add upstart script for managing processes.
  • Prevent duplicate runs (possibly generate a lock file and delete on exit).
  • Add formal documentation to a /docs directory.
Something went wrong with that request. Please try again.