Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
snooplogg
Advanced tools
Readme
Laid back debug logging.
npm install snooplogg
DEBUG
(or SNOOPLOGG
) environment variabledebug
style:
// app.js
import snooplogg from 'snooplogg';
import http from 'http';
// const debug = require('debug')('http');
const debug = snooplogg('http').log;
const name = 'My App';
debug('booting %o', name);
http.createServer((req, res) => {
debug(`${req.method} ${req.url}`);
res.end('hello\n');
}).listen(3000, () => debug('listening'));
// worker.js
import snooplogg from 'snooplogg';
const a = snooplogg('worker:a');
const b = snooplogg('worker:b');
/*
Or you could do this:
const worker = snooplogg('worker');
const a = worker('a');
const b = worker('b');
*/
function work_a() {
a('doing lots of uninteresting work');
setTimeout(work_a, Math.random() * 1000);
}
work_a();
function work_b() {
b('doing some work');
setTimeout(work_b, Math.random() * 2000);
}
work_b();
Standard console usage:
import log from 'snooplogg';
log.trace('bow'); // writes to stdout/stderr if DEBUG matches + all pipes
log.info('wow')
.warn('wow')
.error('wow');
Namespace support:
import snooplogg from 'snooplogg';
const log = snooplogg('myapp');
log.info('bow', 'wow', 'wow'); // writes to stdout/stderr if DEBUG=myapp + all pipes
Stream output to stdout:
import snooplogg from 'snooplogg';
const log = snooplogg.stdio('yippy yo');
log.info('bow', 'wow', 'wow'); // writes to stdout/stderr + all pipes
const log = snooplogg.enable('*')('yippy yay');
log.info('bow', 'wow', 'wow'); // writes to stdout/stderr + all pipes
Pipe output to a stream (such as a file or socket):
import snooplogg from 'snooplogg';
const log = snooplogg
.pipe(someWritableStream);
log.info('yippy', 'yo');
Listen for messages from all SnoopLogg
instances, even from other dependencies:
import snooplogg, { snoop } from 'snooplogg';
snoop();
const log = snooplogg('bumpin');
log('one');
log
.trace('two')
.debug('three')
.info('and to the four');
log.warn(`It's like this`);
log.error('and like that');
log.fatal('and like this');
Custom log types:
import snooplogg, { type } from 'snooplogg';
type('jin', { color: 'cyan' });
type('juice', { color: 'yellow' });
const log = snooplogg();
log.jin('parents ain\'t home');
log.juice('too much drama', true);
Console:
import snooplogg from 'snooplogg';
snooplogg.enable('*').console.log('dawg gone');
snooplogg()
Creates a namespaced logger as well as defines the global namespaced logger.
snooplogg.log(msg)
Outputs a message using the standard console.log()
format syntax.
snooplogg.config(options)
Allows you to set various instance specific options.
colors
- (Array) An array of color names to choose from when auto-selecting a color,
specifically for rendering the namespace.minBrightness
- (Number) The minimum brightness to auto-select a color. Value must be between 0
and 255 as well as less than or equal to the maxBrightness
. Defaults to 80
.maxBrightness
- (Number) The maximum brightness to auto-select a color. Value must be between 0
and 255 as well as greater than or equal to the minBrightness
. Defaults to 210
.theme
- (String) The name of the default theme to use. Defaults to standard
.maxBufferSize
- (Number) The maximum number of log lines to buffer. Used to flush prior messages
to new pipes.Returns the original SnoopLogg
instance.
By default, Snooplogg only prints messages if the the DEBUG
or SNOOPLOGG
environment variables
are set.
# macOS and Linux
$ DEBUG=izzle node loggfather.js
# Windows PowerShell
> $Env:DEBUG="izzle" node loggfather.js
# Windows Command Prompt
> set DEBUG=izzle
> node loggfather.js
Note: You may also use the
SNOOPLOGG
environment variable to avoid conflicts with other libraries that use debug
You can also use any environment variable you want by simply calling enable()
before logging.
import snooplogg from 'snooplogg';
// change the global environment variable name
snooplogg.enable(process.env.LOGGFATHER);
Note: The console log types (
info
,warn
,error
, etc) are for display only.snooplogg
does not support log level filtering, only namespace filtering via theSNOOPLOGG
(orDEBUG
) environment variable or byenable()
.
SnoopLogg allows you to set defaults using environment variables that apply to all SnoopLogg instances.
SNOOPLOGG_COLOR_LIST
- A comma-separated list of supported color names.SNOOPLOGG_DEFAULT_THEME
- Sets the theme
.SNOOPLOGG_MAX_BUFFER_SIZE
- Sets the maxBufferSize
.SNOOPLOGG_MAX_BRIGHTNESS
- Sets the maxBrightness
.SNOOPLOGG_MIN_BRIGHTNESS
- Sets the minBrightness
.MIT
FAQs
Your mind on your logs and your logs on your mind
The npm package snooplogg receives a total of 735 weekly downloads. As such, snooplogg popularity was classified as not popular.
We found that snooplogg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.