| Module | AWS::S3::Logging::Management::ClassMethods |
| In: |
lib/aws/s3/logging.rb
|
Disables logging for the bucket named name.
# File lib/aws/s3/logging.rb, line 244
244: def disable_logging_for(name = nil)
245: logging_status(bucket_name(name), Status.new)
246: end
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 234
234: def enable_logging_for(name = nil, options = {})
235: name = bucket_name(name)
236: default_options = {'target_bucket' => name, 'target_prefix' => 'log-'}
237: options = default_options.merge(options)
238: grant_logging_access_to_target_bucket(options['target_bucket'])
239: logging_status(name, Status.new(options))
240: end
Returns true if logging has been enabled for the bucket named name.
# File lib/aws/s3/logging.rb, line 250
250: def logging_enabled_for?(name = nil)
251: logging_status(bucket_name(name)).logging_enabled?
252: end
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 220
220: def logging_status_for(name = nil, status = nil)
221: if name.is_a?(Status)
222: status = name
223: name = nil
224: end
225:
226: path = path(name) << '?logging'
227: status ? put(path, {}, status.to_xml) : Status.new(get(path).parsed)
228: end
Returns the collection of logs for the bucket named name.
Bucket.logs_for 'marcel'
Accepts the same options as Bucket.find, such as :max_keys and :marker.
# File lib/aws/s3/logging.rb, line 260
260: def logs_for(name = nil, options = {})
261: if name.is_a?(Hash)
262: options = name
263: name = nil
264: end
265:
266: name = bucket_name(name)
267: logging_status = logging_status_for(name)
268: return [] unless logging_status.logging_enabled?
269: objects(logging_status.target_bucket, options.merge(:prefix => logging_status.target_prefix)).map do |log_object|
270: Log.new(log_object)
271: end
272: end