🚀 DAY 5 OF LAUNCH WEEK:Introducing Webhook Events for Alert Changes.Learn more →
Socket
Book a DemoInstallSign in
Socket

trussle-logging

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

trussle-logging

A simple logging library by Trussle, that one day will more than likely become an overcomplicated beast

latest
Source
npmnpm
Version
1.1.8
Version published
Maintainers
1
Created
Source

trussle-logging

A simple library for all things logging.

##Simplest Usage

var log = require("trussle-logging")("MyComponent");

If you are going for the simplest usage you will need to set the NODE_LOG_LEVEL Environment Variable

export NODE_LOG_LEVEL=DEBUG

##Advanced Usage

If you are going for some advanced usage you there are several options

{
  source: "ComponentName", // Name for component useful for navigating to your js file
  transport: new TransportClass(), // Logging transport can also be an array, default is console transport
  level: "INFO", //See log sevels, if not set the the NODE_LOG_LEVEL environment will be used.
  formatter: (logData) => `${logData.message}` //See Formatters
}

###Log Levels

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • CRITICAL
  • NONE

###Transports

The default Transport logs to the console. If you want to write to own trasport then it will have to comply with the following interface.

{
  trace(message),
  debug(message),
  info(message),
  warn(message),
  error(message),
  critical(message)
}

###Templates

Templates are functions that take a logData object and return the output to be sent to the transport.

The logData Object has these properies

{
  timestamp, // A moment object of the current utc time
  source, // The source component of the log
  level, //The log level
  message // The original log message
}

For more info on moment objects check out momentjs

If no formatter is chosen then the default will be chosen.


(logData) => `(${logData.source}) [${logData.level}] ${logData.message}`;

###Multiple Logs

If your usecase requires you to have multiple logs seperate log files for INFO and ERROR logs for instance (only the ConsoleTransport at this time so if you need to log to a file you'll need to roll your own transport class) then you can add a variants property to your config, this will create a wrapper logger that will delegate to multiple loggers.

{
  source: "ComponentName",
  level: "INFO",
  variants: [
    {
      level: "ERROR",
      transport: new MyCustomTransport()
    }
  ]
}

FAQs

Package last updated on 03 Aug 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts