Class: Smplkit::ManagementClient::LoggersNamespace
- Inherits:
-
Object
- Object
- Smplkit::ManagementClient::LoggersNamespace
- Includes:
- HttpHelpers
- Defined in:
- lib/smplkit/management/client.rb
Instance Method Summary collapse
- #_update_logger(logger) ⇒ Object
- #delete(id) ⇒ Object
- #flush ⇒ Object
- #get(id) ⇒ Object
-
#initialize(http) ⇒ LoggersNamespace
constructor
A new instance of LoggersNamespace.
- #list ⇒ Object
- #register(source) ⇒ Object
Constructor Details
#initialize(http) ⇒ LoggersNamespace
Returns a new instance of LoggersNamespace.
582 583 584 585 |
# File 'lib/smplkit/management/client.rb', line 582 def initialize(http) @http = http @buffer = Management::LoggerRegistrationBuffer.new end |
Instance Method Details
#_update_logger(logger) ⇒ Object
619 620 621 622 623 |
# File 'lib/smplkit/management/client.rb', line 619 def _update_logger(logger) body = Smplkit::Logging::Helpers.build_logger_body(logger) resp = http_put("/api/v1/loggers/#{logger.id || logger.name}", body) Smplkit::Logging::Helpers.logger_resource_to_model(self, resp["data"]) end |
#delete(id) ⇒ Object
614 615 616 617 |
# File 'lib/smplkit/management/client.rb', line 614 def delete(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) http_delete("/api/v1/loggers/#{normalized}") end |
#flush ⇒ Object
593 594 595 596 597 598 599 600 601 |
# File 'lib/smplkit/management/client.rb', line 593 def flush batch = @buffer.drain return if batch.empty? body = { "data" => { "type" => "logger_bulk_register", "attributes" => { "loggers" => batch } } } http_post("/api/v1/loggers/bulk", body) rescue StandardError => e Smplkit.debug("registration", "logger flush failed: #{e.class}: #{e.}") end |
#get(id) ⇒ Object
608 609 610 611 612 |
# File 'lib/smplkit/management/client.rb', line 608 def get(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) resp = http_get("/api/v1/loggers/#{normalized}") Smplkit::Logging::Helpers.logger_resource_to_model(self, resp["data"]) end |
#list ⇒ Object
603 604 605 606 |
# File 'lib/smplkit/management/client.rb', line 603 def list list_resp = http_list("/api/v1/loggers") list_resp.map { |r| Smplkit::Logging::Helpers.logger_resource_to_model(self, r) } end |
#register(source) ⇒ Object
587 588 589 590 591 |
# File 'lib/smplkit/management/client.rb', line 587 def register(source) sources = source.is_a?(Array) ? source : [source] sources.each { |s| @buffer.add(s) } flush if @buffer.pending_count >= Management::LOGGER_BATCH_FLUSH_SIZE end |