open-index/open-npm huggingface dataset:
npm package: @railtownai/winston
Description: @railtownai/winston is a transport to ship your logs to railtown.ai
Author: Railtown AI
Latest version: 2.0.29

# Railtown AI Winston Logger

winston-railtown is a transport to ship your logs to railtown.ai

## Install

```console
$ npm install --save @railtownai/winston
```

## Options

In adition to the options accepted by winston transport, Railtown Transport accepts the following options:

- `token` {string} - Your railtown token _[required]_
- `ignoreErrors` {string[] | RegExp[]} - An array of error messages to ignore _[optional]_

You can either provide the token through the environment variable 'RAILTOWN_TOKEN' or pass it through the options.

## Usage

### ESM / TypeScript

```ts
// ESM / TypeScript
import RailtownAiTransport from "@railtownai/winston";

const logger = winston.createLogger({
  transports: [
    new RailtownAiTransport({
      token: YOUR_RAILTOWN_AI_TOKEN,
    }),
  ],
});
```

### CommonJS

```ts
// If you're using CommonJS
const { default: RailtownAiTransport } = require("@railtownai/winston");

const logger = winston.createLogger({
  transports: [
    new RailtownAiTransport({
      token: YOUR_RAILTOWN_AI_TOKEN,
    }),
  ],
});
```

## Manually Logging Errors with additional properties

Import winstonLogger and use as follows:

```javascript
try {
  // code to try
} catch (error) {
  const logError = {
    message: error.message,
    stack: error.stack,
    userId: "123456789",
    projectId: "abcdefg",
  };

  winstonLogger.error(logError);
}
```

---

## Examples

### Ignoring Errors

You can ignore errors by passing an array of error messages to ignore. It also supports regex.

```typescript
const logger = winston.createLogger({
  transports: [
    new RailtownAiTransport({
      token: YOUR_RAILTOWN_AI_TOKEN,
      ignoreErrors: [
        "Error: Request failed with status code 404",
        /Exact Error Message/,
        "Another Error To Ignore",
      ],
    }),
  ],
});
```
npm package: @railtownai/winston-railtownai
Description: winston-railtownai is a transport to ship your logs to railtown.ai
Author: railtown.ai
Latest version: 1.0.13

# winston-railtown
winston-railtown is a transport to ship your logs to railtown.ai

## Install
```console
$ npm install --save @railtownai/winston-railtownai
```

## Options 
In adition to the options accepted by winston transport, Railtown Transport accepts the following options:
- **token** - string - Your railtown token *[required]*

You can either provide the token through the environment variable 'RAILTOWN_TOKEN' or pass it through the options.



## Usage
```javascript
const winston = require('winston');
 /**
   * Requiring `@railtownai/winston-railtownai` will expose
   * `winston.transports.RailtownAi`
   */
require('@railtownai/winston-railtownai');

const logger = winston.createLogger({
  // Whatever options you need
  // Refer https://github.com/winstonjs/winston#creating-your-own-logger
  transports: [
    new winston.transports.RailtownAi(options)
  ]
})

// You can also add the logger 
logger.add(new winston.transports.RailtownAi(options))

```
## ES6
```js
import winston from 'winston';
 /**
   * importing `@railtownai/winston-railtownai` will expose
   * `winston.transports.RailtownAi`
   */
import '@railtownai/winston-railtownai';

const logger = winston.createLogger({
  // Whatever options you need
  // Refer https://github.com/winstonjs/winston#creating-your-own-logger
  transports: [
    new winston.transports.RailtownAi(options)
  ]
})

// You can also add the logger 
logger.add(new winston.transports.RailtownAi(options))
```

## Manually Logging Errors with additional properties
Import winstonLogger and use as follows:
```javascript
try {
  // code to try 
} catch (error) {
  const logError = {
    message: error.message,
    stack: error.stack,
    userId: '123456789',
    projectId: 'abcdefg'
  };

  winstonLogger.error(logError);
}