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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@lahaus-nuxt/winston-logs

v0.7.0

Published

My great Nuxt.js project

Downloads

9

Readme

Welcome to @lahaus-nuxt/winston-logs 👋

Version Documentation Maintenance

Nuxt module to add winston/logging to your application by capturing requests passing through the server-middleware using the http module in nodejs. This module is only compatible with nuxtjs version 2.

🏠 Homepage

Installation

  1. Install npm package
yarn add @lahaus-nuxt/winston-logs # or npm i @lahaus-nuxt/winston-logs
  1. Install winston
yarn add winston # or  npm i winston
  1. Edit your nuxt.config.js file to add module
{
  modules: ['@lahaus-nuxt/winston-logs'];
}
  1. Change the options using the winstonLogConfig key or by adding a second parameter in the module configuration. Refer to the Usage section for details.

Usage

  1. By default, @lahaus-nuxt/winston-logs exposes some basic options for common needs. Internally, these options are used to create a basic winston logger instance and wire up middleware.

    The default values are:

    // ...
    {
      // Active error request middleware handler.
      addErrorMiddleware: true,
      // Active error request middleware handler.
      addRequestMiddleware: true
      // activate the module
      enabled: true,
      // Set the logger options.
      loggerOptions: {
        level: 'info',
        exitOnError: false,
        format: combine(timestamp(), errors({ stack: true }), json()),
        transports: [new transports.Console()],
      },
      ...yourOverrides
    }
    // ...

With options module

{
  modules: ['@lahaus-nuxt/winston-logs', { enabled: true }];
}

With winstonLogConfig key

{
  modules: ['@lahaus-nuxt/winston-logs'],
  winstonLogConfig: {
    enabled: true
  }
}
  1. To access the winston instance from within Nuxt lifecycle areas, use the $winstonLog key from the Nuxt context object. Note: This is only available for server-side executions. For example, because asyncData is an isomorphic function in Nuxt, you will need to guard $winstonLog access with something like if (process.server) { ... }

Example nuxtServerInit in your apps ~/store/index.js:

// ...
export const actions = {
  async nuxtServerInit({ store, commit }, { req, $ddTrace }) {
    $winstonLog.info({ message: 'hello word' });
  },
};
// ...

Example asyncData in your apps ~/pages/somepage.vue:

    // ...
    asyncData(context) {
      if (process.server) {
        context.$winstonLog.info({ message: 'hello word' });
      }
    }
    // ...

For more information on winston options, see the package documentation.

Using process.winstonLog in a Nuxt Module

Because modules are executed sequentially, any additional Nuxt modules should be loaded after the @lahaus-nuxt/winston-logs module. You can then access the winston logger instance via process.winstonLog as needed.

Important

The datadog-trace module uses interceptors to trace network requests and database operations in the application. By adding the winston-logs module after datadog-trace, you ensure that additional logs are enriched with information traced by datadog, such as the service name, environment, and version.

If you add the Winston module before datadog-trace, it is possible that the additional logs will not be enriched with the information traced by datadog. This can make it difficult to diagnose problems in the application and limit the effectiveness of the logs. For example:

✅ Correct

modules: ['@lahaus-nuxt/datadog-trace', '@lahaus-nuxt/winston-logs'];

❌ Incorrect

modules: ['@lahaus-nuxt/winston-logs', '@lahaus-nuxt/datadog-trace'];

Author

👤 Alver Alexander Grisales Ortega [email protected]


This README was generated with ❤️ by readme-md-generator

This project generated by create-nuxt-module