class Krane::RemoteLogs
Attributes
container_logs[R]
Public Class Methods
new(logger:, parent_id:, container_names:, namespace:, context:)
click to toggle source
# File lib/krane/remote_logs.rb, line 8 def initialize(logger:, parent_id:, container_names:, namespace:, context:) @logger = logger @parent_id = parent_id @container_logs = container_names.map do |n| ContainerLogs.new( logger: logger, container_name: n, parent_id: parent_id, namespace: namespace, context: context ) end end
Public Instance Methods
empty?()
click to toggle source
# File lib/krane/remote_logs.rb, line 22 def empty? @container_logs.all?(&:empty?) end
print_all(prevent_duplicate: true)
click to toggle source
# File lib/krane/remote_logs.rb, line 39 def print_all(prevent_duplicate: true) return if @already_displayed && prevent_duplicate if @container_logs.all?(&:empty?) @logger.warn("No logs found for #{@parent_id}") return end @container_logs.each do |cl| if cl.empty? @logger.warn("No logs found for #{@parent_id} container '#{cl.container_name}'") else @logger.info("Logs from #{@parent_id} container '#{cl.container_name}':") cl.print_all @logger.blank_line end end @already_displayed = true end
print_latest()
click to toggle source
# File lib/krane/remote_logs.rb, line 30 def print_latest @container_logs.each do |cl| unless cl.printing_started? @logger.info("Streaming logs from #{@parent_id} container '#{cl.container_name}':") end cl.print_latest(prefix: @container_logs.length > 1) end end
sync()
click to toggle source
# File lib/krane/remote_logs.rb, line 26 def sync @container_logs.each(&:sync) end