1.0.6 • Published 12 months ago

sharplogger v1.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

SharpLogger

SharpLogger is a simple, easy-to-use, lightweight logging library.

This package provides color support (ANSI colors), pre-set logging functions (error, warn, info, and log), and an optional file logging functionality that automatically appends to log files whenever log functions are called.

Features

  • ANSI colors: Easily apply ANSI colors to your logs (automatically applied to prefixes)
  • Pre-set logging functions: Use error, warn, info, and log to standardize your logging output
  • Optional log file: Automatically append to a log file when a logging function is called, creates during initalization
  • Customizable prefix colors: Change the color of the log prefixes using the setPrefixColor method

Installation

npm install simplelogger

Example usage

const LogFile = require('simplelogger')

// Create a new file named /log and append a date string.
// Would come out like so: ./log-24-08-09_14-30-45.log (YY-MM-DD_HH-MM-SS)

const logFile = new LogFile('./log', 'log', true);
logFile.initialize(); // only called when filePath is not null

// Set prefix color of informational logs to bright green

logFile.setPrefixColor('info', logFile.colors.fg.brightGreen);

// Test out log functionalities

logFile.log('hello'); // "hello"
logFile.error('world'); // "[ERROR] world" with [ERROR] is bright red
logFile.warn('!!!'); // "[WARN] !!!" with [WARN] is bright yellow
logFile.info(':D'); // "[INFO] :D" with [INFO] is bright blue

Log file output w/ example

Log data @ August 9, 2024 at 02:28:12 AM
-----
[LOG : August 9, 2024 at 02:28:12 AM] hello
[ERROR : August 9, 2024 at 02:28:12 AM] world
[WARN : August 9, 2024 at 02:28:12 AM] !!!
[INFO : August 9, 2024 at 02:28:12 AM] :D

Documentation

LogFile class

Constructor: new LogFile(filePath = null, extension = null, newLogFile = null);

  • All of these are optional, if you do not want to use the log file functionality, leave the LogFile constructor empty.
  • filePath (String): The directory path with the base file name to create the log file in, eg. "./log"
  • extension (String): The extension of the file, without the preceding dot, eg. "log"
  • newLogFile (Boolean): Whether to create a new log file with an appended date string

Methods

  • initialize(): Create the log file if filePath and newLogFile are not null, appending an initial entry with the current date & time
  • setPrefixColor(functionName, color): Set the color for the specific log prefix, functionName should match any below functions and color can technically be anything, but you should use LogFile.colors for ANSI colors. You can also use multiple colors, eg. setPrefixColor('error', logFile.colors.fg.brightRed + logFile.colors.fg.bold) (formatting is not reset)
  • All log functions will append the message to the log file with a prefix such as ERROR or LOG
  • endProcess can end the process on 3 codes:
    • 0: non-error
    • 1: error
    • 2: warning
  • log(string, endProcess = false): Log a standard message to the console
  • error(string, endProcess = false): Log an error to the console with a red-prefixed ERROR
  • warn(string, endProcess = false): Log a warning message with a yellow-prefixed WARN
  • info(string, endProcess = false): Log an informational message with a blue-prefixed INFO

ANSI Colors

The LogFile class provides all ANSI Colors with an object in the constructor, LogFile.colors.fg or LogFile.colors.bg with additional formatting options.

Colors are applied automatically to the following functions:

  • error: Bright red
  • warn: Bright yellow
  • info: Bright blue
  • log: No color
1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago