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