diff --git a/lib/Bumped.logger.coffee b/lib/Bumped.logger.coffee index 74b59cc..930c14a 100644 --- a/lib/Bumped.logger.coffee +++ b/lib/Bumped.logger.coffee @@ -4,28 +4,31 @@ Acho = require 'acho' DEFAULT = require './Bumped.default' existsAssign = require 'existential-assign' -module.exports = (opts) -> - opts = existsAssign DEFAULT.logger, opts - logger = Acho opts +optsDefault = + lineBreak: true - # Extending with error handler - logger.errorHandler = (err, opts, cb) -> - optsDefault = lineBreak: true +errorHandler = (err, opts, cb) -> + if (arguments.length is 2) + cb = opts + opts = optsDefault + else + opts = opts or optsDefault + cb = cb or -> - if (arguments.length is 2) - cb = opts - opts = optsDefault - else - opts = opts or optsDefault - cb = cb or -> + return cb err if @level is 'silent' - printErrorMessage = (err) => @error err.message or err + printErrorMessage = (err) => @error err.message or err + process.stdout.write '\n' if opts.lineBreak - process.stdout.write '\n' if opts.lineBreak - err = if Array.isArray(err) then err else [err] + err = if Array.isArray(err) then err else [err] + err.forEach printErrorMessage - err.forEach printErrorMessage - @keyword = DEFAULT.logger.keyword - cb err + # TODO: Necessary? + @keyword = DEFAULT.logger.keyword + cb err +module.exports = (opts) -> + opts = existsAssign DEFAULT.logger, opts + logger = Acho opts + logger.errorHandler = errorHandler logger