@byndyusoft/pino-logger-factory

logger factory for pino

Usage no npm install needed!

<script type="module">
  import byndyusoftPinoLoggerFactory from 'https://cdn.skypack.dev/@byndyusoft/pino-logger-factory';
</script>

README

node-pino-logger-factory

npm@latest test workflow code style: prettier semantic-release

:evergreen_tree: logger factory for pino :evergreen_tree:

Requirements

  • Node.js v12 LTS or later
  • npm or yarn

Install

npm install @byndyusoft/pino-logger-factory pino pino-http && npm install -D pino-pretty

or

yarn add @byndyusoft/pino-logger-factory pino pino-http && yarn add -D pino-pretty

Environment

You must initialize process.env before creating pino logger:

process.env.npm_package_name;
process.env.npm_package_version;
process.env.CONFIG_ENV ?? process.env.NODE_ENV;
process.env["BUILD_*"];

Usage

Create pino logger:

import { PinoLoggerFactory } from "@byndyusoft/pino-logger-factory";

const logger = new PinoLoggerFactory().create();

Create pino-http logger:

import { PinoHttpLoggerFactory } from "@byndyusoft/pino-logger-factory";

const httpLogger = new PinoHttpLoggerFactory().create();

Usage with nestjs-pino

Import and configure modules:

import {
  PinoHttpLoggerOptionsBuilder,
  PinoLoggerFactory,
} from "@byndyusoft/pino-logger-factory";
import { Module } from "@nestjs/common";
import { LoggerModule } from "nestjs-pino";

@Module({
  imports: [
    LoggerModule.forRootAsync({
      useFactory: () => ({
        pinoHttp: new PinoHttpLoggerOptionsBuilder()
          .withLogger(new PinoLoggerFactory().create())
          .build(),
      }),
    }),
  ],
})
export class InfrastructureModule {}

Maintainers

License

This repository is released under version 2.0 of the Apache License.