Skip to content
Socket server for external apps to ship logs in a non-blocking fashion.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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


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


You can configure the transports to ship the logs.

Currently supported transports:

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


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).


npm start



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:


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


  • 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.