# syslog

> Syslog-ng TCP client, with basic fault-tolerance.

Latest version **0.1.1-1** (published 2018-01-27) · 0 weekly downloads

## Install

```sh
npm install syslog
pnpm add syslog
yarn add syslog
bun add syslog
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1-1 |
| Published | 2018-01-27 |
| First published | 2011-01-28 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.4.2 |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Alexis Sellier |
| Maintainers | cloudhead |
| Keywords | syslog, logger |

## Links

- npm: https://www.npmjs.com/package/syslog
- npm.io page: https://npm.io/package/syslog

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 0.1.1-1 (latest) — 2018-01-27
- 0.1.1 — 2011-04-10
- 0.1.0 — 2011-01-28

## README

node-syslog
===========

> Syslog-ng TCP client for node, with basic fault-tolerance.

installation
------------

    $ npm install syslog

synopsis
--------
    
    var syslog = require('syslog');
    var logger = syslog.createClient(514, 'localhost');

    logger.info("ping!");

log levels
----------

In increasing order of severity:

- debug
- info
- notice
- warning
- error
- crit
- alert
- emerg

These are available as methods on Client, ex: `logger.crit()`.

You may also call the `log` method, and pass the level as the 2nd argument:

    logger.log('fnord!', syslog.LOG_CRIT);

The default level is `info`.

configuration
-------------

You will have to configure your syslog server to accept TCP connections.
This is usually done in `/etc/syslog-ng.conf`. Let's say you have an app called `fnord`,
the configuration would look something like this:

    source tcp_s {
      tcp(ip(0.0.0.0) port(514) max-connections(256));
    };
    destination fnord_d {
      file("/var/log/fnord.log");
    };
    log { source(tcp_s); destination(fnord_d); };

If you have multiple apps which need to log via TCP, you can specify filters, as such:

    filter fnord_f { program("fnord"); };

Then modify the log statement to read:

    log { source(tcp_s); filter(fnord_f); destination(fnord_d); };

Now if you have another app, called `bnord`, create similar `destination` and `filter` configurations for it,
and specify a new log statement, with the same `source`:

    log { source(tcp_s); filter(bnord_f); destination(bnord_d); };

For this to work, you have to make sure you set the `process.title` variable in your node app.

    process.title = 'fnord';

Alternatively, you can pass it as an option to `createClient`:

    syslog.createClient(514, 'localhost', { name: 'fnord' });

license
-------

See `LICENSE` file.

> Copyright (c) 2011 Alexis Sellier

---
_Source: https://npm.io/package/syslog · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
