module AWS::S3::Logging::Management::ClassMethods

Public Instance Methods

disable_logging(name = nil) click to toggle source
Alias for: disable_logging_for
disable_logging_for(name = nil) click to toggle source

Disables logging for the bucket named name.

# File lib/aws/s3/logging.rb, line 251
def disable_logging_for(name = nil)
  logging_status(bucket_name(name), Status.new)
end
Also aliased as: disable_logging
enable_logging(name = nil, options = {}) click to toggle source
Alias for: enable_logging_for
enable_logging_for(name = nil, options = {}) click to toggle source

Enables logging for the bucket named name. You can specify what bucket to log to with the 'target_bucket' option as well as what prefix to add to the log files with the 'target_prefix' option. Unless you specify otherwise, logs will be delivered to the same bucket that is being logged and will be prefixed with log-.

# File lib/aws/s3/logging.rb, line 241
def enable_logging_for(name = nil, options = {})
  name            = bucket_name(name)
  default_options = {'target_bucket' => name, 'target_prefix' => 'log-'}
  options         = default_options.merge(options)
  grant_logging_access_to_target_bucket(options['target_bucket'])
  logging_status(name, Status.new(options))
end
Also aliased as: enable_logging
logging_enabled?(name = nil) click to toggle source
logging_enabled_for?(name = nil) click to toggle source

Returns true if logging has been enabled for the bucket named name.

# File lib/aws/s3/logging.rb, line 257
def logging_enabled_for?(name = nil)
  logging_status(bucket_name(name)).logging_enabled?
end
Also aliased as: logging_enabled?
logging_status(name = nil, status = nil) click to toggle source
Alias for: logging_status_for
logging_status_for(name = nil, status = nil) click to toggle source

Returns the logging status for the bucket named name. From the logging status you can determine the bucket logs are delivered to and what the bucket object’s keys are prefixed with. For more information see the Logging::Status class.

Bucket.logging_status_for 'marcel'
# File lib/aws/s3/logging.rb, line 227
def logging_status_for(name = nil, status = nil)
  if name.is_a?(Status)
    status = name
    name   = nil
  end

  path = path(name) << '?logging'
  status ? put(path, {}, status.to_xml) : Status.new(get(path).parsed)
end
Also aliased as: logging_status
logs(name = nil, options = {}) click to toggle source
Alias for: logs_for
logs_for(name = nil, options = {}) click to toggle source

Returns the collection of logs for the bucket named name.

Bucket.logs_for 'marcel'

Accepts the same options as AWS::S3::Bucket.find, such as :max_keys and :marker.

# File lib/aws/s3/logging.rb, line 267
def logs_for(name = nil, options = {})
  if name.is_a?(Hash)
    options = name
    name    = nil
  end
  
  name           = bucket_name(name)
  logging_status = logging_status_for(name)
  return [] unless logging_status.logging_enabled?
  objects(logging_status.target_bucket, options.merge(:prefix => logging_status.target_prefix)).map do |log_object|
    Log.new(log_object)
  end
end
Also aliased as: logs