node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

winston-azure

winston-azure

NPM version

Yet another Windows Azure table storage transport for winston, utilizing the latest (octobre 2014) Microsoft azure SDK.

Inspired by winston skywriter transport, but compatible with latest Microsoft Azure SDK for NodeJS.

Installation

  $ npm install winston
  $ npm install winston-azure

Usage

  var winston = require('winston');
  
  // 
  // Requiring `winston-azure` will expose  
  // `winston.transports.Azure` 
  // 
  require('winston-azure').Azure;
  
  winston.add(winston.transports.Azure, options);

The Azure transport accepts the following options:

  • level: Level of messages that this transport should log (defaults to info).
  • account: The name of the Windows Azure storage account to use
  • key: The access key used to authenticate into this storage account
  • table: The name of the table to log to (defaults to 'log'). Must already exist.
  • partition: The value to use for the PartitionKey in each row (defaults to 'log'). The RowKey is an auto-generated GUID.
  • columns: If true, the transport will store the metadata key/value pairs in individual columns (this can be helpful when querying table storage for log entries with specific metadata values). The default is to store the entire meta value as a single JSON string in a 'meta' column.

Helpful hint

When running multiple node instances across multiple hosts, a good value for 'partition' is:

partition: require('os').hostname() + ':' + process.pid