Class: Meteorlog::Wrapper::LogGroup

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Logger::Helper
Defined in:
lib/meteorlog/wrapper/log_group.rb

Instance Method Summary collapse

Methods included from Logger::Helper

#log

Constructor Details

#initialize(cloud_watch_logs, log_group, options = {}) ⇒ LogGroup

Returns a new instance of LogGroup.



7
8
9
10
11
# File 'lib/meteorlog/wrapper/log_group.rb', line 7

def initialize(cloud_watch_logs, log_group, options = {})
  @cloud_watch_logs = cloud_watch_logs
  @log_group = log_group
  @options = options
end

Instance Method Details

#deleteObject



39
40
41
42
43
44
45
46
# File 'lib/meteorlog/wrapper/log_group.rb', line 39

def delete
  log(:info, 'Delete LogGroup', :red, self.log_group_name)

  unless @options[:dry_run]
    @cloud_watch_logs.delete_log_group(:log_group_name => self.log_group_name)
    @options[:modified] = true
  end
end

#log_streamsObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/meteorlog/wrapper/log_group.rb', line 13

def log_streams
  if @log_group.respond_to?(:log_streams)
    lss = @log_group.log_streams
  else
    lss = @cloud_watch_logs.describe_log_streams(
      :log_group_name => log_group_name
    ).each.inject([]) {|r, i| r + i.log_streams }
  end

  Meteorlog::Wrapper::LogStreamCollection.new(
    @cloud_watch_logs, lss, @log_group, @options)
end

#metric_filtersObject



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/meteorlog/wrapper/log_group.rb', line 26

def metric_filters
  if @log_group.respond_to?(:metric_filters)
    mfs = @log_group.metric_filters
  else
    mfs = @cloud_watch_logs.describe_metric_filters(
      :log_group_name => log_group_name
    ).each.inject([]) {|r, i| r + i.metric_filters }
  end

  Meteorlog::Wrapper::MetricFilterCollection.new(
    @cloud_watch_logs, mfs, @log_group, @options)
end