Class: Logger::HTTP::Base
- Inherits:
-
Object
- Object
- Logger::HTTP::Base
- Defined in:
- lib/logger-http/base.rb
Instance Method Summary collapse
- #close ⇒ Object
- #dbg(message) ⇒ Object
-
#initialize(base_uri, path, request_source, debug: false) ⇒ Base
constructor
A new instance of Base.
- #request(data) ⇒ Object
- #run ⇒ Object
- #start ⇒ Object
- #write(message) ⇒ Object
Constructor Details
#initialize(base_uri, path, request_source, debug: false) ⇒ Base
Returns a new instance of Base.
2 3 4 5 6 7 8 9 |
# File 'lib/logger-http/base.rb', line 2 def initialize(base_uri, path, request_source, debug: false) @base_uri = URI.parse(base_uri) @path = path @debug_logger = Logger.new('log/logger-http.log') if debug @request_source = request_source @queue = Queue.new dbg "initialized" end |
Instance Method Details
#close ⇒ Object
54 55 56 57 58 59 |
# File 'lib/logger-http/base.rb', line 54 def close stop connection && connection.finish rescue StandardError => e dbg "#{self.class} - #{e.class} - #{e.}" end |
#dbg(message) ⇒ Object
27 28 29 |
# File 'lib/logger-http/base.rb', line 27 def dbg @debug_logger && @debug_logger.debug() end |
#request(data) ⇒ Object
61 62 63 64 |
# File 'lib/logger-http/base.rb', line 61 def request data put = @request_source.new(@path, data) connection.request @base_uri + @path, put end |
#run ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/logger-http/base.rb', line 31 def run dbg "running loop" loop do data = @queue.pop dbg "popped #{data}" unless data dbg "no data!" sleep 3 next end dbg "Sending message" request(data) end rescue StandardError dbg("Got exception in run loop - #{ $! }") @connection = nil raise end |
#start ⇒ Object
21 22 23 24 25 |
# File 'lib/logger-http/base.rb', line 21 def start @thread ||= Thread.new { run } @thread = Thread.new { run } unless @thread.alive? dbg "thread is #{@thread.status}" end |
#write(message) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/logger-http/base.rb', line 11 def write() dbg "queueing message" start @queue << "#{}\n" rescue StandardError => e dbg "#{self.class} - #{e.class} - #{e.}" close end |