Skip to content

Commit

Permalink
replace forwarders with a Component class that is not a full Logger
Browse files Browse the repository at this point in the history
  • Loading branch information
ezrast committed Oct 2, 2018
1 parent fcaf32f commit e40d566
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 18 deletions.
11 changes: 6 additions & 5 deletions src/logger.cr
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
require "logger/component"
require "logger/emitter"
require "logger/entry"
require "logger/filter"
require "logger/emitter"
require "logger/severity"

class Logger
Expand Down Expand Up @@ -31,6 +32,10 @@ class Logger
log Entry.new(message, Severity::{{ level }}, component, time, line_number, filename)
end
{% end %}

def get(component)
Component.new(component.to_s, self)
end
end

include Base
Expand All @@ -46,10 +51,6 @@ class Logger
class_property filter : FilterType?
class_property emitter : EmitterType? = IOEmitter.new

def self.get(component)
Logger.new(component.to_s, nil, Forwarder.new(self))
end

{% for level in Severity.constants %}
{{ level }} = Severity::{{ level }}
{% end %}
Expand Down
21 changes: 21 additions & 0 deletions src/logger/component.cr
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require "./severity"

class Logger
class Component
getter logger : Base
getter name : String

def initialize(@name, @logger)
end

{% for level in Severity.constants %}
def {{ level.downcase.id }}(*, time = Time.now, line_number = __LINE__, filename = __FILE__, &message : -> String)
@logger.log Entry.new(message, Severity::{{ level }}, name, time, line_number, filename)
end

def {{ level.downcase.id }}(message, *, time = Time.now, line_number = __LINE__, filename = __FILE__)
@logger.log Entry.new(message, Severity::{{ level }}, name, time, line_number, filename)
end
{% end %}
end
end
13 changes: 0 additions & 13 deletions src/logger/emitter.cr
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,4 @@ class Logger
@formatter.call(@io, entry)
end
end

class Forwarder
include Emitter

getter dest : Base

def initialize(@dest)
end

def call(entry : Entry)
dest.log(entry)
end
end
end

0 comments on commit e40d566

Please sign in to comment.