Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

snowyu/abstract-logger.js

Open more actions menu

Repository files navigation

abstract-logger npm

Build Status Code Climate Test Coverage downloads license

It is an abstract logger class.

Usage

Logger    = require 'abstract-logger'
inherits  = require 'inherits-ex'

class MyLogger
  inherits MyLogger, Logger

  constructor: ->super
  # The `_write` method need to be overwrote.
  _write: (str)->console.error str
var logger = new MyLogger('test')
logger.log({
  message: '${name} - ${level}: here is a %s logging "${title}"!'
  , title: 'Today news'
  , level: log.levels.ERROR
}, 'pretty')
//or:
logger.log('${name} - ${level}: here is a %s logging "${title}"!', {
    title: 'Today news'
  , level: log.levels.ERROR
}, 'pretty')
//result: 'test - ERROR: here is a pretty logging "Today news"'

API

  • Methods:
    • log(message[, context], args...):eg, log('hi ${user}', {user:'Mikey'})
      • message (String): The message to show up
      • context (Object): The optional context to escape the message against and pass the options to the log:
        • level (Number|String): the logLevel. it will be translated to the string if it's a number
        • label (String): the status label.
        • name (String): the logger name if exists.
    • log(context, args...):eg, log({message:'${name} - ${level}: hi ${user}', level:'info', user:'Mikey'})
      • The context to escape the message against and pass the options to the log:
        • message (String): The message to show up
        • level (Number|String): the logLevel. it will be translated to the string if it's a number
        • label (String): the status label.
        • name (String): the logger name if exists.
    • write(...): write a new-line if no arguments.
    • writeln(...): Same as log.write() but automatically appends a \n at the end of the message.
    • emergency/alert/critical/error/warning/notice/info/debug/trace(message[, context], args...):
      • log the specified level message.

TODO

Changes

v0.2

  • enabled (Boolean): enable/disable the logger. default to true.
  • levels (LogLevels): customizable logging levels
    • The default LogLevels:
      • SILENT:-1
      • EMERGENCY:0 system is unusable
      • ALERT:1 action must be taken immediately
      • CRITICAL:2 the system is in critical condition
      • ERROR:3 error condition
      • WARNING:4 warning condition
      • NOTICE:5 a normal but significant condition
      • INFO:6 a purely informational message
      • DEBUG:7 messages to debug an application
  • level: use the property to get/set the log level.
    • defaults to levels.ERROR.
    • set 'SILENT' to mute the loglevel msg, it will still print it out if the msg without loglevel.
    • setter (Nubmer|String): set the logging level via number or string.
    • getter (String): get the logging level string, or get the level number via _level property.
  • log()
    • level, name options to context.
    • log(context, args...)

License

MIT

About

an abstract logger class.

Resources

License

Stars

Watchers

Forks

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.