0.2.0 • Published 4 years ago

simple-winston v0.2.0

Weekly downloads
9
License
ISC
Repository
github
Last release
4 years ago

Simple Winston

Installation

npm install simple-winston

Why?

I love winston, but there are a few basic things I usually enjoy that are missing, and I find myself copying the same files from my other packages over and over again so I figured I'd create a package instead.

Extended features

Args

simple-winston takes in any amount of args into the log call. It can handle strings, numbers, objects, errors, and arrays.

logger.warn("string", 123, new Error("message"), { object: true }, ["array", "with", "strings"]);

Children

simple-winston makes it possible to create new child logger instances that are hooked into the root winston instance. This makes it a bit easier to keep track of where your log message was sent.

const child = logger.createChildLogger("child-logger-context");
child.info("this is the child logger");

JavaScript Setup

Simplest way to get going with simple-winston is to copy this into a logger file. Whenever you need a logger you can just import that one.

import packageJson from "../package.json";
import { Logger, LogLevel } from "simple-winston";

const logger = new Logger({
  context: "logger-context",
  packageName: packageJson.name,
  packageVersion: packageJson.version,
});

logger.addConsole(LogLevel.INFO);
logger.addTail(LogLevel.DEBUG);
logger.addFileTransport(LogLevel.ERROR);
logger.addFileTransport(LogLevel.SILLY);

export default logger;

TypeScript Setup

TypeScript does not import package.json very well so it's best to read the file with fs instead like so:

import { readFileSync } from "fs";
import { join } from "path";

const pkg = readFileSync(join(__dirname, "..", "..", "package.json"), { encoding: "utf8" });
const { name, version } = JSON.parse(pkg);
0.2.0

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

5 years ago