Nibbling Pastry Monster

    flannel

    0.10.0 • Public • Published

    flannel

    Build Status Coverage Status Dependency Status devDependency Status Downloads

    Winston helper mixins for coffee-script classes

    "It's easy to handle logs when your coffee-script classes wear Flannel"

    images of winston flannel

    NPM

    Installation

    npm install --save flannel

    Options

    logPrefix string

    the prefix to use when logging fns are called. This belongs as a Class or Instance variable on the target Class.

    transports map

    the winston transports to use, and their options. defaults to console:

      console:
        level: "info"

    see also Winston Transports

    Flannel.enabled bool

    set to false to squelch Flannel from sending logs. defaults to true.

    Flannel.logLevels array

    the level names to use. defaults to ["debug", " info", " warn", " err"].

    see also Winston#using-custom-logging-levels

    Flannel.logLevelColors map

    the colors for each log level. names must match logLevels. defaults to:

      "  err": "red"
      " warn": "yellow"
      " info": "green"
      "debug": "blue"

    extending Flannel

    @_dependencyMap and all other class vars and methods can be overwritten. Nothing is private.

    Methods

    Flannel.init(transports) returns Flannel

    Initialize the Flannel class. It is designed as a singleton, so that logs from many classes are piped out through the same transports.

    Flannel.shirt(obj)

    Applies Flannel.shirt() to obj.

    Flannel.shirt() returns map

    Get the map of logLevels and their respective functions. defaults to:

      err:   (objs...) ->
      warn:  (objs...) ->
      info:  (objs...) ->
      debug: (objs...) ->
      log:   (objs...) -> # log() is an alias of debug() for convenience. 

    Flannel.morgan(level = "info", format = "combined", options = {})

    Initalizes expressjs/morgan and pipes it into winston. No arguments are required.

    Usage

    Initialization

     
    Flannel = require "flannel"
     
     
    Flannel.init
      Console:
        level: "debug"
      Logentries:
        token: "abcd-1234-xxxx"
     

    Instance methods

    class YourApp
      logPrefix: "(YourApp)"
     
      constructor: ->
        Flannel.shirt this
        @warn "timber"
        ...

    Class methods

    class YourSingleton
      @someMethod: ->
        ...
     
    Flannel.shirt YourSingleton
    YourSingleton.ClassMethod = -> @info "and I'm OK"

    With expressjs/morgan

    class ExpressApp
      constructor: ->
        app = express()
        app.use Flannel.morgan()
        Flannel.shirt this

    License

    MIT Licensed. (C) 2016 doublerebel

    Install

    npm i flannel

    DownloadsWeekly Downloads

    0

    Version

    0.10.0

    License

    MIT

    Last publish

    Collaborators

    • doublerebel