logplease
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.
Features
- Log messages to stdout or a file
- Customize the log messages
- Log levels
- Colors!
- Work in Node.js and Browsers
Install
npm install logplease
Examples
Node.js
npm run example
Browser
Open example/index.html in your browser.
Usage
Node.js / Webpack
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`);
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.
Browser
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`);
logger.info(`This is a info message`);
logger.warn(`This is a warning`);
logger.error(`This is an error`);
</script>
</body>
Options
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,
color: Colors.White,
showTimestamp: true,
useLocalTime: false,
showLevel: true,
filename: null,
appendFile: true,
};
Log levels
DEBUG
INFO
WARN
ERROR
NONE
Default log level is DEBUG. To display errors only, use ERROR. To turn off all logging, use NONE.
Global log level
You can set a global log level to display only the wanted log messages.
const Logger = require('logplease');
Logger.setLogLevel(Logger.LogLevels.ERROR)
Logger.setLogLevel('ERROR')
You can mute all loggers with log level NONE:
Logger.setLogLevel(Logger.LogLevels.NONE)
Global log file
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');
Log file
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');
logger2.debug('hello world 2');
Colors
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
Tests
Run tests with:
npm test
Build
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