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.
874 875 876 877 |
# File 'lib/smplkit/management/client.rb', line 874 def initialize(api_client) @api = SmplkitGeneratedClient::Logging::LoggersApi.new(api_client) @buffer = Management::LoggerRegistrationBuffer.new end |
Instance Method Details
#_update_logger(logger) ⇒ Object
926 927 928 929 |
# File 'lib/smplkit/management/client.rb', line 926 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
920 921 922 923 924 |
# File 'lib/smplkit/management/client.rb', line 920 def delete(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) ErrorMapping.call { @api.delete_logger(normalized) } true end |
#flush ⇒ Object
885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 |
# File 'lib/smplkit/management/client.rb', line 885 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
914 915 916 917 918 |
# File 'lib/smplkit/management/client.rb', line 914 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.
942 943 944 945 946 |
# File 'lib/smplkit/management/client.rb', line 942 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
904 905 906 907 908 909 910 911 912 |
# File 'lib/smplkit/management/client.rb', line 904 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.
935 936 937 938 |
# File 'lib/smplkit/management/client.rb', line 935 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
879 880 881 882 883 |
# File 'lib/smplkit/management/client.rb', line 879 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 |