winston-csv-format
writes winston logs in csv format.
🇺🇦 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.
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
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.