fast-node-logger

fast file logger base on pino

Usage no npm install needed!

<script type="module">
  import fastNodeLogger from 'https://cdn.skypack.dev/fast-node-logger';
</script>

README

A very opinionated file logger and rotation, base on pino.

this package provides:

  • quick start with default configuration
  • an instance of pino logger
  • most flexibility of pino with options and prettify the output
  • create a new file in logs folder of root directory.
  • delete old log files
  • type safe with typescript

Notice:

this is very opinionated package that limit the flexibility of awesome pino package. if you need full functionality please use original package.

Quick Start

import { createLogger } from "fast-node-logger";

const logger = await createLogger();
logger.info(`Logger is Ready!`);

Customization

const options: Options = {
  logDir: "./logs",
  retentionTime: 604800, // for 7 days
};
await createLogger(options);

Documentations

Documentations website

use pino original options Pino Docs

import { createLogger, Options } from "fast-node-logger";

const options: Options = {
  level: "trace",
  prettyPrint: { colorize: true, translateTime: "SYS:standard" },
};

const logger = await createLogger(options);

CreateLogger(options)

returns an instance of pino

import { createLogger } from "fast-node-logger";

const logger = await createLogger();

logger.info(`Logger is Ready!`);

writeLog(message, {stdout: false})

a shortcut for logger.info(message) with ability to additionally print to console with second parameter {stdout: true}

import { writeLog, createLogger, Options } from "fast-node-logger";

await createLogger();

writeLog(`logger is created!`, { stdout: true, level: "trace" });

TODO: