@popovmp/logger
v2.1.2
Published
Logger
Downloads
537
Readme
A simple Logger helper for nodejs
logger is a straightforward logger written in TypeScript. It logs to a
single predefined file. When an option {tee: true}
is given, logger shows
colored messages in the console. If a log file is not defined, logger writes
to the console only.
Homepage: https://github.com/popovmp/logger
Color outputs
Installation
npm install @popovmp/logger
Usage
import {initLogger, logError, logSuccess, logWarning} from "./lib/logger.mts";
// Init logger
const loggerOptions = {
filepath: "my/logger/path/log.txt",
tee : true,
suppress: ["debug"]
};
initLogger(loggerOptions);
Examples
logInfo("Hello, World!"); // => 2020-08-21 06:21:11 [INFO] Hello, World!
logInfo("GET index", "app::router"); // => 2020-08-21 06:21:11 [INFO] [app::router] GET index
logError("Ohh!", "bank::delete-account"); // => 2020-08-21 06:21:11 [ERROR] [bank::delete-account] Ohh!
logError(new Error("Err!"), "mission :: critical"); // => 2020-08-21 06:21:11 [ERROR] [mission :: critical] Err!
logText("So Long, and Thanks for All the Fish!"); // => So Long, and Thanks for All the Fish!
Last error
logger has two methods for getting and resetting the last logged error
message: getLastError
and resetLastError
.
getLastError
returns the last logged error message by the logError
or
logger.error
methods.
You can reset the last error with the resetLastError
method. When
resetLastError
is called without parameters, it sets the last error to
undefined
. resetLastError
can be called with null
to set the last error to
null
.
getLastError(); // undefined
logError("some eror");
getLastError(); // some error
resetLastError();
getLastError(); // undefined
Options
The filepath
option sets the log filepath.
The init
method accepts an options options
parameter. It has two property
tee: boolean
and suppress: string[]
.
When tee
is set to true
, the logger doubles the message on the console.
The suppress
parameter accepts a string[]. It suppresses the logging of the
tags included.
The possible values are:
{
"suppress": ["debug", "text", "info", "error", "success"]
}
Methods
logger exports the following methods:
/**
* @param {LoggerOptions} loggerOptions
* @returns {void}
*/
logger.init(loggerOptions);
/**
* Logs a debug message to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logDebug(message, sender);
/**
* Logs a message to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logInfo(message, sender);
/**
* Logs an error to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logEror(message, sender);
/**
* Logs a success information to a log file
*
* @param {object|string} message
* @param {string} [sender]
*/
logSuccess(message, sender);
/**
* Logs an error to a log file
*
* @param { string } message
*/
logText(message);
/**
* Logs a debug message to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logger.debug(message, sender);
/**
* Logs a message to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logger.info(message, sender);
/**
* Logs an error to a log file
*
* @param {Error|object|string} message
* @param {string} [sender]
*/
logger.error(message, sender);
/**
* Logs a success information to a log file
*
* @param {string} message
* @param {string} [sender]
*/
logger.success(message, sender);
/**
* Logs an error to a log file
*
* @param {string} message
*/
logger.text(message);
License
logger
is free for use and modification. No responsibilities for damages of
any kind.