5.12.4 • Published 6 months ago

@roarr/cli v5.12.4

Weekly downloads
-
License
-
Repository
github
Last release
6 months ago

Roarr

Canonical Code Style Twitter Follow

A CLI program for processing Roarr logs.

Usage

Install @roarr/cli and inspect all available options using roarr --help.

Filtering logs

Use --filter option to filter Roarr messages, e.g.

$ echo '
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":20},"message":"a","sequence":0,"time":1533310067405,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":30},"message":"b","sequence":1,"time":1533310067438,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":40},"message":"c","sequence":2,"time":1533310067439,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":10},"message":"d","sequence":3,"time":1533310067445,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":30},"message":"e","sequence":4,"time":1533310067459,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":40},"message":"f","sequence":5,"time":1533310067473,"version":"2.0.0"}
' | roarr --filter 'context.logLevel:>20'
[15:27:47.438]       info  @bar %foo #baz: b
[15:27:47.439]   1ms warn  @bar %foo #baz: c
[15:27:47.459]  20ms info  @bar %foo #baz: e
[15:27:47.473]  14ms warn  @bar %foo #baz: f

Refer to Liqe documentation for query syntax.

Formatting logs

Use --format-output pretty option (default) to pretty-print logs.

To format the logs, pipe the program output to roarr program, e.g.

$ ROARR_LOG=true node index.js | roarr pretty-print

Provided that the index.js program produced an output such as:

{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":20},"message":"a","sequence":0,"time":1533310067405,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":30},"message":"b","sequence":1,"time":1533310067438,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":40},"message":"c","sequence":2,"time":1533310067439,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":10},"message":"d","sequence":3,"time":1533310067445,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":30},"message":"e","sequence":4,"time":1533310067459,"version":"2.0.0"}
{"context":{"program":"foo","package":"bar","namespace":"baz","logLevel":40},"message":"f","sequence":5,"time":1533310067473,"version":"2.0.0"}

roarr CLI program will format the output to look like this:

[15:27:47.405]       debug @bar %foo #baz: a
[15:27:47.438]  33ms info  @bar %foo #baz: b
[15:27:47.439]   1ms warn  @bar %foo #baz: c
[15:27:47.445]   6ms trace @bar %foo #baz: d
[15:27:47.459]  14ms info  @bar %foo #baz: e
[15:27:47.473]  14ms warn  @bar %foo #baz: f

The "pretty" format relies on logs using the context property names suggested in the conventions:

  • @ prefixed value denotes the name of the package.
  • % prefixed value denotes the name of the program.
  • # prefixed value denotes the namespace.

Roarr configuration file

Roarr will traverse upwards the current working directory searching for .roarr.js.

.roarr.js is a JavaScript file that exports an object that defines properties used to configure Roarr, e.g.

/** @type {import("@roarr/cli").RoarrConfiguration} */
module.exports = {
  /**
   * Receives Roarr message object and determines if to keep the log.
   */
  filter: (message) => {
    return message.context && message.context.logLevel > 20;
  },
  /**
   * List of properties (identified using dot notation) to exclude from the log message. 
   */
  omit: ['context.namespace']
};
5.12.4

6 months ago

5.12.3

11 months ago

5.12.2

12 months ago

5.12.1

12 months ago

5.12.0

12 months ago

5.11.0

1 year ago

5.10.6

1 year ago

5.10.5

1 year ago

5.10.4

1 year ago

5.8.1

1 year ago

5.8.0

1 year ago

5.10.3

1 year ago

5.10.2

1 year ago

5.10.1

1 year ago

5.10.0

1 year ago

5.9.6

1 year ago

5.9.5

1 year ago

5.9.4

1 year ago

5.9.3

1 year ago

5.9.2

1 year ago

5.9.1

1 year ago

5.7.3

1 year ago

5.9.0

1 year ago

5.7.2

1 year ago

5.7.1

2 years ago

5.6.0

2 years ago

5.5.0

2 years ago

5.7.0

2 years ago

5.4.0

2 years ago

5.3.2

2 years ago

5.3.1

2 years ago

5.1.3

2 years ago

5.3.0

2 years ago

5.1.2

2 years ago

5.2.0

2 years ago

5.1.1

2 years ago

5.1.0

2 years ago

5.0.0

2 years ago

3.9.0

3 years ago

3.4.0

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.8.0

3 years ago

3.7.1

3 years ago

3.7.0

3 years ago

3.6.0

3 years ago

3.5.0

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

3.2.3

3 years ago

3.2.2

3 years ago

3.2.1

3 years ago

3.2.0

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago

2.0.1

4 years ago

2.0.0

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago