npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

humio-winston

v1.0.6

Published

A Winston transport for sending logs to Humio

Readme

humio-winston Build Status

A simple transport for sending logs to Humio using the Winston logger.

Installation

npm install --save humio-winston

Usage

import winston from 'winston';
import HumioTransport from 'humio-winston';

const logger = winston.createLogger({
    format: winston.format.simple(),
    transports: [
        // The only required option is your Humio ingest token
        new HumioTransport({
            ingestToken: '<YOUR INGEST TOKEN HERE>'
        }),
    ],
});

logger.info('Hello, world!');

Tags

You can also apply tags to all logs sent to Humio through the transport. See the Humio docs for more information about tags.

new HumioTransport({
    ingestToken: '<YOUR INGEST TOKEN HERE>',
    tags: {
        app: 'example',
    },
})

Logging Levels

You can set a logging level to the Humio transport that overrides the logger's level. This is useful when you only want to send logs at or above a certain level and send more verbose logs elsewhere.

const logger = winston.createLogger({
    level: 'debug', // By default, all transports log at the 'debug' level
    transports: [
        new winston.transports.Console(),
        new HumioTransport({
            level: 'info', // Only send logs that are 'info' or above to Humio  
            ingestToken: '<YOUR INGEST TOKEN HERE>',
        }),
    ],
});

Handling Errors

You can pass a callback to the HumioTransport constructor which will be called after each log is sent to Humio. The callback signature is:

(err: Error | undefined) => void

If a log cannot be sent for whatever reason (such as a dropped network connection), the argument will be an Error containing the error message. On successful transmission, the argument will be undefined.

const logCallback = err => {
    if (err) {
        console.error('Failed to send log to Humio: '+ err.message);
    }
};

const logger = winston.createLogger({
    transports: [
        new winston.transports.Console(),
        new HumioTransport({
            ingestToken: '<YOUR INGEST TOKEN HERE>',
            callback: logCallback,
        }),
    ],
});

Running Tests

Some of the tests send real logs to Humio, meaning that they require a real ingest token. If you want to run the tests yourself, you should create an ingest token just for the test logs.

You must set the HUMIO_INGEST_TOKEN environment variable before running tests.

HUMIO_INGEST_TOKEN=abc123 npm run test