Skip to content

Commit

Permalink
Merge pull request #7 from gorsuch/mixin
Browse files Browse the repository at this point in the history
allow DataLogger to be mixed in
  • Loading branch information
gorsuch committed Jan 26, 2012
2 parents 97b2e26 + 1e4c3c5 commit 3537f28
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 8 deletions.
12 changes: 11 additions & 1 deletion lib/datalogger.rb
@@ -1,3 +1,13 @@
require "datalogger/version"
require "datalogger/logger"
require "datalogger/sinks/stdout"
require "datalogger/sinks/stdout"

module DataLogger
def datalogger
Logger.global_logger
end

def log(data, &blk)
datalogger.log(data, &blk)
end
end
26 changes: 19 additions & 7 deletions lib/datalogger/logger.rb
@@ -1,19 +1,25 @@
module DataLogger
class Logger
attr_accessor :component, :sinks


def self.global_logger
@global_logger ||= new
end

def self.component=(component)
global_logger.component = component
end

def self.log(data, &blk)
global_logger.log(data, &blk)
end

def initialize(component='app')
self.component = component
self.sinks = []
self.sinks << Sinks::STDOUT.new
end

def log_to_sinks(data)
self.sinks.each do |sink|
sink.log(self.component, data)
end
end

def log(data, &blk)
if data.kind_of?(String)
data = { message: data }
Expand All @@ -31,5 +37,11 @@ def log(data, &blk)
nil
end
end

def log_to_sinks(data)
self.sinks.each do |sink|
sink.log(self.component, data)
end
end
end
end

0 comments on commit 3537f28

Please sign in to comment.