1.1.1 • Published 2 years ago

nnl-logger v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

M14 Logger

Custom logging to handle measurements and counts. We use this module as a universal logging method across all hostinng platforms. We abstract logging into this module to allow us to change the underlying reporting mechanism easily.

The function call causes a command line statistic to be produced, which can be read by CloudWatch.

Features

Tagging

Each function has a property, an assigned value, and optional tags. The tag is a key:value object, or array of such objects (see example below).

l.count(property, value, tags);

Returning the log string

To return the string value of the log, instead of sending it to the console log, the functions returnCount, returnMeasure, and returnTime can be used.

AWS Lambda

If 'process.env.AWS_LAMBDA_FUNCTION_NAME' is set, then the 'host' tag is set to "lambda" and the 'lambdaFunction' tag is set to the name of the lambda function.

Usage Examples

The code:

const l = new require("bristlr-logger")();

l.count("accountCreated");

l.count("accountCreated", 2);

l.count("accountCreated", 2, "tag");

l.count("accountCreated", 2, {"animal":"doggo"});

l.measure("someStat", 100);

l.measure("someStat", 100, [{"foo": "baa"}, {"animals": "cat"}]);

l.time("someStat", 100);

The output (0000000000 has been used in place of the timestamp):

MONITORING|0000000000|1|count|accountCreated|
MONITORING|0000000000|2|count|accountCreated|
MONITORING|0000000000|2|count|accountCreated|#tags:tag
MONITORING|0000000000|2|count|accountCreated|#animal:doggo
MONITORING|0000000000|100|measure|someStat|
MONITORING|0000000000|100|measure|someStat|#foo:baa,animals:cat
MONITORING|0000000000|100ms|measure|someStat|