oh-my-log
v5.0.1
Published
Beautiful console logs for your console applications with native string substitution
Readme
oh-my-log

Beautiful console logs for your console applications with string substitution using
fürmat& styling with Chalk.
Install
npm install --only=production --save oh-my-logAPI
myLog(name, [options])
- name (
String, Required): The name/label to use - options (
Object, Optional): An optionaloptionsobject may be passed that alters certain behaviours
Returns: Function The logging function
const logger = require('oh-my-log')
const log = logger('😄')
log('foo')The above example will output:

Create custom local variables:
const log = logger('😄', { locals: { me: 'ahmad' } }) log('Hi, I\'m %me. repeat, my name is %me') // outputs: `Hi, my name is ahmad. repeat, my name is ahmad`Supports creating custom modifiers:
const log = logger('😄', { modifiers: { upper: (string) => string.toUpperCase() } }) log('%s:upper', 'foo') // outputs `FOO`Use chained Chalk styles as modifiers:
const log = logger('😄') log('%s:red:bold', 'foo')Combine for extra magic:
const log = logger('😄', { locals: { me: 'ahmad' }, modifiers: { upper: (string) => string.toUpperCase() } }) log('Hi, I\'m %me:upper. repeat, my name is %me:upper:red:bold') // outputs a colored version of: `Hi, my name is ahmad. repeat, my name is ahmad`
Options
Name | Type | Required | Description | Default
----------- | ---------- | -------- | ----------------------------------------------------------------------------------- | ----------------
prefix | String | ✖️ | prefix this string after substitution with locals values using fürmat | [%name] %date:
locals | Object | ✖️ | locals object, see fürmat for details | falsemodifiers | Object | ✖️ | custom modifiers, see fürmat for details | {}chalk | Boolean | ✖️ | enable/disable chalk modifiers support see fürmat for details | truedate | String | ✖️ | any dateformat compatible value | hh:MM:ss TTfunc | Function | ✖️ | The logging function | console.log
fürmat & Chalk
oh-my-log relies heavily on fürmat for styling text (using chalk) and adding modifiers functions for extended formating, please review fürmat and chalk documentation for more details on how to use those modules.
oh-my-log will also look for options object in your package.json file. This is accomplished using pkg-config, refer to pkg-config's README for more info
:copyright: ahmadnassri.com · License: ISC · Github: @ahmadnassri · Twitter: @ahmadnassri
