0.1.2 • Published 3 years ago

@macarie/log v0.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

@macarie/log Release Version

A dead-simple logger

Build

The main reason for the existence of this module is to be used by me, and it will:

  • stay dead-simple;
  • follow my tastes, and these may change with time.

Install

$ npm install @macarie/log

Or if you prefer using Yarn:

$ yarn add @macarie/log

Usage

import { createLogger, LOG_LEVEL } from "@macarie/log"

const log = createLogger("@macarie/log", LOG_LEVEL.DEBUG)

log("error", "Error")
log("warn", "Warn")
log("success", "Success")
log("info", "Info")
log("verbose", "Verbose")
log("debug", "Debug")

logs printed

API

createLogger(moduleName, initialLogLevel?, formatModuleName?)

Returns: logger

Creates and returns a scoped logger: this means that it's possible to set its log level independently.

It's possible to change the styles of the tag that appears before the log. To do that, pass a function as the third parameter: it receives the moduleName as an input and should output the desired styled tag.

moduleName

Type: string Required: true

The scope of the logger, it's printed in front of its logs.

initailLogLevel

Type: LOG_LEVEL Required: false Default: LOG_LEVEL.INFO

The initial log level used while logging.

formatModuleName

Type: (moduleName: string) => string Required: false

The function mentioned above. It formats the logger's tag.

logger(logLevel, message)

Log a message using the styles associated with logLevel.

The logs show up only if the level of logLevel is less or equal to the logger's LOG_LEVEL.

logLevel

Type: 'error' | 'warn' | 'success' | 'info' | 'verbose' | 'debug' Required: true

The message's log level.

message

Type: string Required: true

The message to log.

logger.setLogLevel(level)

Set the logger's log level.

level

Type: LOG_LEVEL Required: true

The new log level to use.

logger.getLogLevel()

Returns: LOG_LEVEL

Get the logger's log level.

LOG_LEVEL

A numeric enum with the following members:

MemberLogs
OFFNothing.
ERROR'error'.
WARN'error' and 'warn'.
SUCCESS'error', 'warn', and 'success'.
INFO'error', 'warn', 'success', and 'info'.
VERBOSE'error', 'warn', 'success', 'info', and 'verbose'.
DEBUG'error', 'warn', 'success', 'info', 'verbose', and 'debug'.

log(logLevel, message)

A logger with no scope applied. You should use this one as a global logger.

More Examples

Using the global logger:

// Log's default log level is `LOG_LEVEL.INFO`.
import { log } from "@macarie/log"

// This will be logged
log("info", "Info")

// This won't be logged
log("verbose", "Verbose")

Setting the global logger's log level:

import { log, LOG_LEVEL } from "@macarie/log"

log.setLogLevel(LOG_LEVEL.VERBOSE)

// This will be logged
log("info", "Info")

// Now this will also be logged
log("verbose", "Verbose")

License

MIT © Raul Macarie.