Socket
Socket
Sign inDemoInstall

loggly

Package Overview
Dependencies
Maintainers
0
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loggly

A client implementation for Loggly cloud Logging-as-a-Service API


Version published
Weekly downloads
50K
decreased by-0.06%
Maintainers
0
Weekly downloads
 
Created
Source

node-loggly

A client implementation for Loggly in node.js

Installation

Installing npm (node package manager)

  curl http://npmjs.org/install.sh | sh

Installing winston

  [sudo] npm install loggly

Usage

The node-loggly library is compliant with the Loggly API. Using node-loggly is easy for a variety of scenarios: logging, working with devices and inputs, searching, and facet searching.

Getting Started

Before we can do anything with loggly, we have to create a client with valid credentials. We will authenticate for you automatically:

  var loggly = require('loggly');
  var config = {
    subdomain: "your-subdomain",
    auth: {
      username: "your-username",
      password: "your-password"
    }
  };
  var client = loggly.createClient(config);

Logging

There are two ways to send log information to loggly via node-loggly. The first is to simply call client.log with an appropriate input token:

  client.log('your-really-long-input-token', '127.0.0.1 - Theres no place like home', function (err, result) {
    // Do something once you've logged
  });

Note that the callback in the above example is optional, if you prefer the 'fire and forget' method of logging:

  client.log('your-really-long-input-token', '127.0.0.1 - Theres no place like home');

The second way to send log information to loggly is to do so once you've retrieved an input directly from loggly:

  client.getInput('your-input-name', function (err, input) {
    input.log('127.0.0.1 - Theres no place like home');
  });

Again the callback in the above example is optional and you can pass it if you'd like to.

Logging Shallow JSON Object Literals

In addition to logging pure strings it is also possible to pass shallow JSON object literals (i.e. no nested objects) to client.log(..) or input.log(..) methods, which will get converted into the Loggly recommended string representation. So

  var source = {
    foo: 1,
    bar: 2,
    buzz: 3
  };
  
  input.log(source);

will be logged as:

  foo=1,bar=2,buzz=3

Searching

Searching with node-loggly is easy. All you have to do is use the search() method defined on each loggly client:

  var util = require('util');
  
  client.search('404', function (err, results) {
    // Inspect the result set
    util.inspect(results.data);
  });

The search() method also takes an optional second parameter specifying options for your search:

  var util = require('util');
  
  client.search('404', { rows: 10 }, function (err, results) {
    // Inspect the result set
    util.inspect(results.data);
  });

For more information about search queries in Loggly, check out the Search Language Guide on the Loggly Wiki

Facet Searching

Loggly also exposes searches that can return counts of events over a time range. These are called facets. The valid facets are 'ip', 'date', and 'input'. Performing a facet search is very similar to a normal search:

  var util = require('util');
  
  client.facet('ip', '404', { rows: 10 }, function (err, results) {
    // Inspect the result set
    util.inspect(results.data);
  });

As with the search() method, the options parameter of the facet() method is also optional.

Working with Devices and Inputs

Loggly exposes several entities that are available through node-loggly: inputs and devices. For more information about these terms, checkout the Loggly Jargon on the wiki. There are several methods available in node-loggly to work with these entities:

  //
  // Returns all inputs associated with your account
  //
  client.getInputs(function (err, inputs) { /* ... */ });
  
  //
  // Returns an input with the specified name
  //
  client.getInput('input-name', function (err, input) { /* ... */ });
  
  //
  // Returns all devices associated with your account
  //
  client.getDevices(function (err, devices) { /* ... */ });

Run Tests

All of the node-loggly tests are written in vows, and cover all of the use cases described above. You will need to add your Loggly username, password, subdomain, and a test input to test/data/test-config.json before running tests:

  {
    "subdomain": "your-subdomain",
    "auth": {
      "username": "your-username",
      "password": "your-password"
    },
    "inputs": [{
      "token": "your-really-long-token-you-got-when-you-created-an-http-input",
      "id": 000 // ID of this input
    }]
  }

Once you have valid Rackspace credentials you can run tests with vows:

  vows test/*-test.js --spec
Author: Charlie Robbins
Contributors: Marak Squires

Keywords

FAQs

Package last updated on 24 Jan 2011

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc