JSPM

@datalust/winston-seq

3.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 41759
  • Score
    100M100P100Q168885F
  • License Apache-2.0

A Winston v3 transport for Seq

Package Exports

  • @datalust/winston-seq
  • @datalust/winston-seq/dist/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@datalust/winston-seq) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

winston-seq npm

A Winston v3 transport that sends structured logs to the Seq log server.

Structured logging with Seq

Getting started

Add the @datalust/winston-seq winston and winston packages to your package.json, and configure winston with a SeqTransport:

import winston from 'winston';
import { SeqTransport } from '@datalust/winston-seq';

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(  /* This is required to get errors to log with stack traces. See https://github.com/winstonjs/winston/issues/1498 */
    winston.format.errors({ stack: true }),
    winston.format.json(),
  ),
  defaultMeta: { /* application: 'your-app-name' */ },
  transports: [
    new winston.transports.Console({
        format: winston.format.simple(),
    }),
    new SeqTransport({
      serverUrl: "https://your-seq-server:5341",
      apiKey: "your-api-key",
      onError: (e => { console.error(e) }),
      handleExceptions: true,
      handleRejections: true,
    })
  ]
});

Send Log Events

Send structured log events, with properties that can be used later for filtering and analysis:

logger.info("Hello {name}", {name: "World"});

Attach context by creating child loggers:

const taskLogger = logger.child({ activity: "purchase" });
taskLogger.debug(
    "User {user} purchase product {product} at ${price}", 
    {
        user: "Millie Gilbert",
        product: "Yardtime Garden Shears",
        price: 29.99
    });

An event in Seq