1.0.1 • Published 4 years ago

hmjust-util v1.0.1

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

hmjust-util

A small set of utilities I use.

Installing

npm install hmjust-util

Initializing

const util = require('hmjust-util');
util.init();

init

util.init();
util.init(settings);

settings is an optional object of those settings that you want to change. Default settings are:

logFile:       "logger.log"     // name of log file for log() and warn()
errorFile:     "error.log"      // name of log file for warn()
output:        CONSOLE | FILE   // output to console and log files
exception:     false            // if true, will throw an exception if the append to the log file fails
checkInterval: 5*60*1000        // check every 5 minutes
checkSize:     1024*1024        // 1 MB
verbose:       false            // verbose logging to console from this module

To only output log to logfiles (not console), initalize with

util.init({
	output: util.FILE,
});

Once init() has been called, every checkInterval milliseconds, the sizes of the log files will be checked. If a log files exceed the checkSize the log file will be renamed. The renaming scheme is simply to add a dot and an ascending number to the log filename, using the first available. So if the log file is logger.log and there already exists a logger.log.1, the log file will be renamed logger.log.2 and the next log() will create a new logger.log. To disable this check, use a checkInterval less than or equal to 0, or call stopCheck() after init().

Utilities

log

log(string) outputs the string to the log file, each time preceded by a datetime and the linenumber in the script.

util.log('This will be logged');

warn

warn(string) outputs the string to the log file and the error log, each time preceded by a datetime and the linenumber in the script.

util.warn('This will be logged, both in the ordinary log file and the error log');

tabular

tabular(string) outputs the string to the log file, each time preceded by a datetime and the linenumber in the script. The string is split into a list of strings on tabs and newlines, and each substring is output separately.

util.tabular('This will be logged\nand this will be on a separate line');

stopCheck

Stops the scheduled checks for size of logfiles. The scheduled checks can be restarted by calling init().

writer

writer(logFileName, checkInterval, checkSize) returns a logging function that outputs like log(string) with a separate interval size check.

Using this any number of logging functions can be generated.

let logger = util.writer('myown.log', 300000, 1000000);
let otherLogger = util.writer('myother.log', 300000, 1000000);
logger('Write this to myown.log');
otherLogger('Write this to myother.log');

encodeURIComponentLatin1

A replacement for encodeURIComponent, that allows Latin1/ISO-8859-1 encodings to pass through. Useful in situations where one part of a client/server expects Latin1 encoding.

quotemeta

Quote string for regexp use, similar to Perl's quotemeta / \Q ... \E.

Constants

NO

Will not log to console or logfile.

CONSOLE

Will log to console.

FILE

Will log to file.

Author

1.0.1

4 years ago

1.0.0

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago