Skip to content

Latest commit

 

History

History
141 lines (102 loc) · 6.97 KB

README.md

File metadata and controls

141 lines (102 loc) · 6.97 KB

winston-csv-format

writes winston logs in csv format.

Version Bundle size Downloads

CodeFactor SonarCloud Codacy Total alerts Language grade Scrutinizer

Dependencies Security Build Status Coverage Status

Commit activity FOSSA License

🇺🇦 Help Ukraine

I woke up on my 26th birthday at 5 am from the blows of russian missiles. They attacked the city of Kyiv, where I live, as well as the cities in which my family and friends live. Now my country is a war zone.

We fight for democratic values, for freedom, for our future! I am stopping any support of my packages by the time until all russians leave my country on trucks or in boxes.

💛💙 Help Ukraine! We need your support! There are dozen ways to help us, just do it!

Table of Contents

Motivation

If you're struggling to format your logs/reports as .csv files (or prepare import to Excel or Google Spreadsheet), this package can be a cure. Now you can use all power of winston logger, formating your data as comma-separated values.

Requirements

Platform Status

To use library you need to have node and npm installed in your machine:

  • node >=10
  • npm >=6

Package is continuously tested on darwin, linux and win32 platforms. All active and maintenance LTS node releases are supported.

Installation

To install the library run the following command

  npm i --save winston-csv-format

Usage

The package can be used as the formatter alongside any winston transport. Default export is a constructor function. It has 2 arguments: an array of fields and an options object. Note that fields must match keys of logged objects:

import CSV from 'winston-csv-format';
import { createLogger, transports } from 'winston';

const csvHeaders = {
    created : 'Creation Date',
    size    : 'Size',
    status  : 'Status'
};

const logger = createLogger({
    level      : 'info',
    format     : CSV([ 'created', 'status' ], { delimiter: ',' }),
    transports : [ new transports.Console() ]
});

logger.log('info', csvHeaders); // write headers

Configuration

Next values can be configured as options:

  • delimiter - delimiter between fields (';' by default)
  • missed - value, used when original value is missed in the logged object (empty string by default)

Migration Guide

Check Migration Guide to upgrade the next major version. Upgrade to minor/patch versions should happen without additional interventions. See detailed Changelog for a list of changes.

Contribute

Make the changes to the code and tests. Then commit to your branch. Be sure to follow the commit message conventions. Read Contributing Guidelines for details.