kindlogs v3.0.0
KindLogs
A small and simple multi-level logging library for node.js, colors optional.

Installation
npm i kindlogsGetting Started
KindLogs will only log levels options.logLevel or below. By default this is 3 (error), so only logs at level 3 or below (more severe) will display:
const { KindLogs } = require('kindlogs');
const logs = new KindLogs()
function myFunction() {
logs.log(6, 'Log level 6 (info)')
logs.log(3, 'Log level 3 (error)')
}
myFunction()Console output:
[ERROR] Log level 3 (error)Color mode
In order to keep the library small, if you would like to use color mode, the ansis library must be installed separately:
npm i ansisTo enable color logs in console, spawn KindLogs with the color option:
const logs = new KindLogs({
color: true
})Setting log-level
KindLogs uses numeric log-levels from 0-7, following the Syslog standard. To set the log level, spawn KindLogs with the logLevel option:
const logs = new KindLogs({
logLevel: 7
})
function myFunction() {
logs.log(6, 'Log level 6 (info)')
logs.log(3, 'Log level 3 (error)')
}
myFunction()In this example, all levels will be displayed:
[INFO] Log level 6 (info)
[ERROR] Log level 3 (error)Logging to files
KindLogs enables easy logging to files. In order to log to files, configure KindLogs with the fileOptions option:
const logs = new KindLogs({
fileOptions: {
dir: "test/logs",
name: "kindlogs"
}
})The above configuration will result in the creation of the test/logs/ directory. By default, logs will append to the <name>.error.log file if the level is 3 or below, and <name>.debug.log for all others, in the following format:
[5/26/2024, 12:52:42 AM] [EMERG] Log level 0
[5/26/2024, 12:52:42 AM] [ALERT] Log level 1
[5/26/2024, 12:52:42 AM] [CRIT] Log level 2
[5/26/2024, 12:52:42 AM] [ERROR] Log level 3
...Setting file-specific log-level
File logging can be run at a different level than console logging. In order to achieve this, configure the fileOptions object with a logLevel parameter:
const logs = new KindLogs({
fileOptions: {
dir: "test/logs",
name: "kindlogs",
logLevel: 7
}
})Unless specified in the fileOptions object, the file-specific log level will be identical to the global logLevel option.