hmjust-util v1.0.1
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
- Henning Just - blog