Big News: Socket Selected for OpenAI's Cybersecurity Grant Program.Details
Socket
Book a DemoSign in
Socket

logan

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

logan

Mini template system for the console and colors

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
11
83.33%
Maintainers
1
Weekly downloads
 
Created
Source

Logan

Logan is a mini template system for the console and colors.

It allows to cleanly separate content from style and create beautiful logging functions.

Example

Let's say you want to write a logging function that says hello.

// Without Logan
function hello(arg) {
  console.log('Hello'.bold.green + ' : ' + arg.cyan);
}

// With Logan
var hello = logan.create('Hello : %', 'bold.green . cyan')

hello('world');

Usage

var logan = require('logan');

set

This is the most useful method of logan. It lets you define all your templates in one place.

logan.set({
  info: ['info : %', 'yellow'],
  warn: ['warn : %', 'orange'],
  omg : ['omg  : %', 'rainbow']
});

logan.info('some info');

Notice how easy it is to see what all your logging functions will output.

Also, with set your module users can easily theme logs:

// Overriding omg to be... more OMG!!!
logan.set({
  omg: ['OMG : % !!!', 'red . . red']
});

create

Returns a logging function.

var info = logan.create('info : %', 'yellow');
info('some text');

compile

Returns a function which returns a string when called.

var info = logan.compile('info : %', 'yellow');
console.log(info('some text'));

Syntax

  • % is used for string replacement.
  • {} lets you define blocks.
  • . means default style.
  • styles can be chained (example: bold.underline.red).

{} usage:

// for example, instead of writing this:
var green = logan.create('some long green string', 'green green green green');

// using {} you can write
var green = logan.create('{some long green string}', 'green');

Configuration

If you want to suppress all output, during tests for example, just set silent to true.

logan.set({'foo', ['foo', 'red']});
logan.silent = true;
logan.foo(); // No output
logan.silent = false;
logan.foo(): // will output 'foo'

About the name

Since there's a templating engine called hogan and this one is about logging, it was called logan.

More

If you want to see how Logan can be used in another project, you can have a look at ShoutJS.

Keywords

colors

FAQs

Package last updated on 18 Nov 2013

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