Skip to content
Graylog2 client library for Node.js
Branch: master
Clone or download
#40 Compare This branch is 57 commits ahead of stelcheck:master.
stelcheck Merge pull request #39 from feliperoberto/master
fix: typo fixed in fileinfo stack message
Latest commit 817cd0d Apr 1, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data * Bugfix: chunk count calculation was ignoring the header-overhead. Sep 3, 2013
imgs updated-readme May 21, 2018
scripts * Adding .gitignore Oct 4, 2012
.gitignore * Adding .gitignore Oct 4, 2012
CHANGELOG Release Feb 5, 2018
LICENSE added license May 11, 2011
Makefile * Adding .gitignore Oct 4, 2012
README.md updated-readme May 21, 2018
graylog.js fix: typo fixed in fileinfo stack message Mar 26, 2019
package.json Release Feb 5, 2018
test.js add deflate option assertion Nov 30, 2016

README.md

node-graylog2

NPM version NPM license

Graylog2 client library for Node.js, based on node-graylog. This has been heavily modified to the point where there is not much left of the original; however, this library should still be compatible with the old one, except for configuration and the GLOBAL function setup (some optional arguments in logging calls are not supported; they will be logged as additional data).

** New: ** Chunked GELF is now supported.

Synopsis

Available functions

  • graylog.emergency
  • graylog.alert
  • graylog.critical
  • graylog.error
  • graylog.warning
  • graylog.notice
  • graylog.info
  • graylog.debug

Code snippets

var graylog2 = require("graylog2");
var logger = new graylog2.graylog({
    servers: [
        { 'host': '127.0.0.1', port: 12201 },
        { 'host': '127.0.0.2', port: 12201 }
    ],
    hostname: 'server.name', // the name of this host
                             // (optional, default: os.hostname())
    facility: 'Node.js',     // the facility for these log messages
                             // (optional, default: "Node.js")
    bufferSize: 1350         // max UDP packet size, should never exceed the
                             // MTU of your system (optional, default: 1400)
});

logger.on('error', function (error) {
    console.error('Error while trying to write to graylog2:', error);
});

Short message:

logger.log("What we've got here is...failure to communicate");

Long message:

logger.log("What we've got here is...failure to communicate", "Some men you just can't reach. So you get what we had here last week, which is the way he wants it... well, he gets it. I don't like it any more than you men.");

Short with additional data:

logger.log("What we've got here is...failure to communicate", { cool: 'beans' });

Long with additional data:

logger.log("What we've got here is...failure to communicate", "Some men you just can't reach. So you get what we had here last week, which is the way he wants it... well, he gets it. I don't like it any more than you men.",
    {
        cool: "beans"
    }
);

Flush all log messages and close down:

logger.close(function(){
    console.log('All done - cookie now?');
    process.exit();
});

Example

See test.js.

What is graylog2 after all?

It's a miracle. Get it at http://www.graylog2.org/

Installation

npm install graylog2

Graylog2 Configuration

This module will send its data as GELF packets to Graylog2. In order to see your data in the correct format you need to create a GELF Input in your Graylog2 application.

You can do this by following these instructions:

  1. Go to System -> Inputs
  1. Select a GELF Input type. In this case we will be using GELF UDP as it doesn't need any additional configuration.
  1. Select the Nodes that will read the new Input type.
  1. Launch the new input!
You can’t perform that action at this time.