Class: Smplkit::ManagementClient::LoggersNamespace
- Inherits:
-
Object
- Object
- Smplkit::ManagementClient::LoggersNamespace
- Defined in:
- lib/smplkit/management/client.rb
Instance Method Summary collapse
- #_update_logger(logger) ⇒ Object
- #delete(id) ⇒ Object
- #flush ⇒ Object
- #get(id) ⇒ Object
-
#get_logger_entry(id) ⇒ Object
Fetch one logger as a resolution-cache entry.
-
#initialize(api_client) ⇒ LoggersNamespace
constructor
A new instance of LoggersNamespace.
- #list(page_number: nil, page_size: nil) ⇒ Object
-
#list_logger_entries ⇒ Object
Runtime entry — walks every page and returns an id-keyed Hash of resolution-cache entries (
level,group,managed,environments). - #register(source) ⇒ Object
Constructor Details
#initialize(api_client) ⇒ LoggersNamespace
Returns a new instance of LoggersNamespace.
837 838 839 840 |
# File 'lib/smplkit/management/client.rb', line 837 def initialize(api_client) @api = SmplkitGeneratedClient::Logging::LoggersApi.new(api_client) @buffer = Management::LoggerRegistrationBuffer.new end |
Instance Method Details
#_update_logger(logger) ⇒ Object
889 890 891 892 |
# File 'lib/smplkit/management/client.rb', line 889 def _update_logger(logger) response = ErrorMapping.call { @api.update_logger(logger.id || logger.name, logger_body(logger)) } Smplkit::Logging::Helpers.logger_resource_to_model(self, ResourceShim.from_model(response.data)) end |
#delete(id) ⇒ Object
883 884 885 886 887 |
# File 'lib/smplkit/management/client.rb', line 883 def delete(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) ErrorMapping.call { @api.delete_logger(normalized) } true end |
#flush ⇒ Object
848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 |
# File 'lib/smplkit/management/client.rb', line 848 def flush batch = @buffer.drain return if batch.empty? items = batch.map do |entry| SmplkitGeneratedClient::Logging::LoggerBulkItem.new( id: entry["id"], resolved_level: entry["resolved_level"], level: entry["level"], service: entry["service"], environment: entry["environment"] ) end body = SmplkitGeneratedClient::Logging::LoggerBulkRequest.new(loggers: items) ErrorMapping.call { @api.bulk_register_loggers(body) } rescue StandardError => e Smplkit.debug("registration", "logger flush failed: #{e.class}: #{e.}") end |
#get(id) ⇒ Object
877 878 879 880 881 |
# File 'lib/smplkit/management/client.rb', line 877 def get(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) response = ErrorMapping.call { @api.get_logger(normalized) } Smplkit::Logging::Helpers.logger_resource_to_model(self, ResourceShim.from_model(response.data)) end |
#get_logger_entry(id) ⇒ Object
Fetch one logger as a resolution-cache entry. Used by the logger_changed WS handler.
905 906 907 908 909 |
# File 'lib/smplkit/management/client.rb', line 905 def get_logger_entry(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) response = ErrorMapping.call { @api.get_logger(normalized) } logger_entry_from_resource(ResourceShim.from_model(response.data)) end |
#list(page_number: nil, page_size: nil) ⇒ Object
867 868 869 870 871 872 873 874 875 |
# File 'lib/smplkit/management/client.rb', line 867 def list(page_number: nil, page_size: nil) opts = {} opts[:page_number] = page_number unless page_number.nil? opts[:page_size] = page_size unless page_size.nil? response = ErrorMapping.call { @api.list_loggers(opts) } (response.data || []).map do |r| Smplkit::Logging::Helpers.logger_resource_to_model(self, ResourceShim.from_model(r)) end end |
#list_logger_entries ⇒ Object
Runtime entry — walks every page and returns an id-keyed Hash of resolution-cache entries (level, group, managed, environments). Mirrors the Python SDK’s LoggingClient._fetch_and_apply loggers branch.
898 899 900 901 |
# File 'lib/smplkit/management/client.rb', line 898 def list_logger_entries rows = PaginatedFetch.collect { |opts| @api.list_loggers(opts) } rows.to_h { |r| logger_entry_from_resource(ResourceShim.from_model(r)) } end |
#register(source) ⇒ Object
842 843 844 845 846 |
# File 'lib/smplkit/management/client.rb', line 842 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 |