JSPM

@datalust/winston-seq

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

A Winston v3 transport for Seq

Package Exports

    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