Skip to content

Commit

Permalink
Merge pull request #15 from packsaddle/feat/logger
Browse files Browse the repository at this point in the history
Feat/logger
  • Loading branch information
sanemat committed Mar 1, 2015
2 parents 14bf916 + 3518a8c commit 694146d
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 4 deletions.
17 changes: 16 additions & 1 deletion lib/saddler.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
require 'logger'
require 'saddler/version'
require 'saddler/reporter'

module Saddler
# Your code goes here...
def self.default_logger
logger = Logger.new(STDERR)
logger.progname = 'Saddler'
logger.level = Logger::WARN
logger
end

def self.logger
return @logger if @logger
@logger = default_logger
end

class << self
attr_writer :logger
end
end
34 changes: 31 additions & 3 deletions lib/saddler/cli.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,16 @@ def version
option :options, type: :hash, default: {}
option :require
option :reporter
option :debug, type: :boolean, default: false
option :verbose, type: :boolean, default: false
def report
if options[:debug]
logger.level = Logger::DEBUG
elsif options[:verbose]
logger.level = Logger::INFO
end
logger.debug(options)

data = \
if options[:data]
options[:data]
Expand All @@ -30,15 +39,34 @@ def report
ARGF.read
end

abort('no input') if !data || data.empty?
if !data || data.empty?
logger.error('no input')
abort
end
logger.info(data)

require options[:require] if options[:require]
if options[:reporter]
reporter = ::Saddler::Reporter.add_reporter(options[:reporter], $stdout)
end

abort('no reporter') unless reporter
reporter.report(data, options[:options])
unless reporter
logger.error('no reporter')
abort
end

begin
reporter.report(data, options[:options])
rescue StandardError => e
logger.error(e.message)
logger.error(e.backtrace)
end
end

no_commands do
def logger
::Saddler.logger
end
end
end
end

0 comments on commit 694146d

Please sign in to comment.