Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Simple Javascript logger for Node.js and Browsers
DEMO Open the dev tools to see the log output
logplease does two simple things: output log messages to the console and/or to a file (Node.js only) and display the log messages with nice colors. Inspired by log4js and debug.
npm install logplease
npm run example
Open example/index.html
in your browser.
See example/example.js for details.
const Logger = require('logplease');
const logger = Logger.create('utils');
logger.debug(`This is a debug message`);
logger.log(`This is a log message`); // alias for debug()
logger.info(`This is a info message`);
logger.warn(`This is a warning`);
logger.error(`This is an error`);
Default log level is DEBUG
. You can set the log level with LOG
environment variable, eg. LOG=debug node example/example.js
. See Log levels for available options.
There's an ES5 build in es5/
which you can include if you need ES5 compatibility, eg. with Webpack.
Copy dist/logplease.min.js
to your javascripts directory and include it in your html. See example/index.html for details.
<body>
<script type="text/javascript" src="dist/logplease.min.js" charset="utf-8"></script>
<script type="text/javascript">
var logger = Logger.create('logger name');
logger.debug(`This is a debug message`);
logger.log(`This is a log message`); // alias for debug()
logger.info(`This is a info message`);
logger.warn(`This is a warning`);
logger.error(`This is an error`);
</script>
</body>
You can customize your logger to not show the timestamp or the log level, disable colors or specify, if using a log file, to overwrite the log file at start instead of appending to it.
const Logger = require('logplease');
const logger = Logger.create("logger name", options);
Available options and defaults:
const options = {
useColors: true, // Enable colors
color: Colors.White, // Set the color of the logger
showTimestamp: true, // Display timestamp in the log message
useLocalTime: false, // Display timestamp in local timezone
showLevel: true, // Display log level in the log message
filename: null, // Set file path to log to a file
appendFile: true, // Append logfile instead of overwriting
};
DEBUG
INFO
WARN
ERROR
NONE
Default log level is DEBUG
. To display errors only, use ERROR
. To turn off all logging, use NONE
.
You can set a global log level to display only the wanted log messages.
const Logger = require('logplease');
Logger.setLogLevel(Logger.LogLevels.ERROR) // Show only ERROR messages
// or
Logger.setLogLevel('ERROR')
You can mute all loggers with log level NONE:
Logger.setLogLevel(Logger.LogLevels.NONE) // output nothing
You can set a global log file to which all loggers write to.
const Logger = require('logplease');
const logger1 = Logger.create("logger1");
const logger2 = Logger.create("logger2");
Logger.setLogfile('debug.log');
logger1.debug('hello world 1');
logger2.debug('hello world 2');
// ==> 'debug.log' contains both log messages
You can set a log file per logger.
const Logger = require('logplease');
const logger1 = Logger.create("logger1", { filename: 'debug.log' });
const logger2 = Logger.create("logger2");
logger1.debug('hello world 1'); // writes to 'debug.log'
logger2.debug('hello world 2'); // doesn't write to 'debug.log'
You can set a color per logger. Default color in Node.js is White and in the browser Black.
const Logger = require('logplease');
const logger = Logger.create("logger name", { color: Logger.Colors.Yellow });
Colors:
Black, Red, Green, Yellow, Blue, Magenta, Cyan, Grey, White
Run tests with:
npm test
Install build dependencies:
npm install
Build the browser distributable and examples:
npm run build
Build the browser distributable only:
npm run build:dist
The distributable file will be located in dist/logplease.min.js
Build the browser example:
npm run build:examples
FAQs
Simple Javascript logger for Node.js and Browsers
The npm package logplease receives a total of 9,779 weekly downloads. As such, logplease popularity was classified as popular.
We found that logplease 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.