A dead-simple logger
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.
$ npm install @macarie/log
Or if you prefer using Yarn:
$ yarn add @macarie/log
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")
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.
Type: string
Required: true
The scope of the logger, it's printed in front of its logs.
Type: LOG_LEVEL
Required: false
Default: LOG_LEVEL.INFO
The initial log level used while logging.
Type: (moduleName: string) => string
Required: false
The function mentioned above. It formats the logger's tag.
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
.
Type: 'error' | 'warn' | 'success' | 'info' | 'verbose' | 'debug'
Required: true
The message's log level.
Type: string
Required: true
The message to log.
Set the logger's log level.
Type: LOG_LEVEL
Required: true
The new log level to use.
Returns: LOG_LEVEL
Get the logger's log level.
A numeric enum
with the following members:
Member | Logs |
---|---|
OFF |
Nothing. |
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' . |
A logger
with no scope applied. You should use this one as a global logger.
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")
MIT © Raul Macarie.