# rlogger

> Very simple, nice-looking logger.

Latest version **2.0.0** (published 2015-01-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install rlogger
pnpm add rlogger
yarn add rlogger
bun add rlogger
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2015-01-31 |
| First published | 2014-07-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Jan Golda |
| Maintainers | regzand |
| Keywords | logger, log file, terminal, colors, express, middleware |

## Links

- npm: https://www.npmjs.com/package/rlogger
- Repository: http://github.com/regzand/rLogger
- Homepage: https://regzand.pl/projects/rLogger/
- Issues: https://github.com/regzand/rLogger/issues
- npm.io page: https://npm.io/package/rlogger

## Dependencies (1)

- [colors](https://npm.io/package/colors.md) ^0.6.2

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 2.0.0 (latest) — 2015-01-31
- 1.2.0 — 2014-07-04
- 1.1.1 — 2014-07-04
- 1.1.0 — 2014-07-04
- 1.0.3 — 2014-07-02
- 1.0.2 — 2014-07-02
- 1.0.1 — 2014-07-02
- 1.0.0 — 2014-07-02

## README

rLogger
=======

Very simple, nice-looking logger.

## Installation
```bash
npm install --save rlogger
```
## Usage
### Setting up
To set up rLogger you have to use this:
```js
//only once
var rLogger = require("rlogger")(options);
//for every logger 
GLOBAL.logger = rLogger.getLogger("PREFIX");
```
Options object:
```js
var options = {
  //file to save log to (default: none)
  file: "server.log",
  //level of logging (default: "info") (possible values: "dump" <=0, "dev" <=10, "meta" <=15, "info" <=20, "warn" <=30, "error" <=40)
  level: "info"
}
```
### Logging levels
* "__dump__"
  * 0 | Displays everything
* "__dev__"
  * 10 | Displays everything except dump messages
* "__meta__"
  * 15 | Displays info, warnings and errors with additional data
* "__info__"
  * 20 | Default, displays only info, warnings and error
* "__warn__"
  * 30 | Displays only warnings and errors
* "__error__"
  * 40 | Displays only errors

You can change level of logging using:
```js
rLogger.setLevel(level);
```
### Logging
```js
logger.error(message,[parameters], [meta]);
logger.warn(message,[parameters], [meta]);
logger.info(message,[parameters], [meta]);
logger.dev(message,[parameters], [meta]);
logger.dump(data);
```
* __message__ - (String, required) message to log
  * Can contains {_index_} - will be replace with data form __parameters__ at given index
  * Can contains &_text_& - text between will be colorized to highlight the most important informations
* __parameters__ - (Array, optional) - contains data that will be place instead of {_index_}
* __meta__ - (Object, optional) additional data that will be displayed after message
* __data__ - (Object, required) data to display

### Express.js middleware
If you want rlogger to log http requests you have to put this piece of code before express routes: 
```js
app.use(rLogger.getExpress(prefix));
```

## Example
```js
var express = require("express");

var server = express();

//logger
var rlogger = require('rLogger')({
	file: 'logger.log',
	level: 'dump'
});
GLOBAL.logger = rlogger.getLogger("[ADMIN]".grey);

//configuration
server.set("port", 80);
server.use(rlogger.getExpress("[HTTP]".grey));

//routes
server.get("/error", function(req,res,next){
    res.status(500);
    res.end("Error printed to console!");
    logger.error("Error requested from &{0}&", [req.ip]);
});
server.get("/warn", function(req,res,next){
    res.status(400);
    res.end("Warning printed to console!");
    logger.warn("Warning requested from &{0}&", [req.ip]);
});
server.get("/info", function(req,res,next){
    res.end("Info printed to console!");
    logger.info("Info requested from &{0}&", [req.ip]);
});
server.get("/dev", function(req,res,next){
    res.end("Dev message printed to console!");
    logger.dev("Dev message requested from &{0}&", [req.ip]);
});
server.get("/dump", function(req,res,next){
    res.end("Object printed to console!");
    logger.dump({message: "Object printed to console", ip: req.ip});
});

server.listen(server.get("port"));
logger.info("Express server listening on port &{0}&", [server.get("port")]);
```

---
_Source: https://npm.io/package/rlogger · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
