Sha256: 4dfb602ce4e1f3380138341cdf3741248ea45074e5bd4ecde073d8c13615df72

Contents?: true

Size: 827 Bytes

Versions: 5

Compression:

Stored size: 827 Bytes

Contents

require 'logger'

LOG_FILE_NAME = 'cucumber_log_file.log'.freeze

Given(/^I am logging to a log file(?: at the (#{STRING_OR_SYM}) level)?$/) do |level|
  step "an empty file named \"#{LOG_FILE_NAME}\""
  cd('.') do
    @logger = Logger.new(LOG_FILE_NAME)
  end
  step "I set the log level to #{level || 'info'}"
  @orig_logger = MessageDriver.logger
  MessageDriver.logger = @logger
end

Given(/^I set the log level to (#{STRING_OR_SYM})$/) do |level|
  level = level ? level.to_s.upcase : 'INFO'
  @logger.level = Logger::SEV_LABEL.find_index(level)
end

Then 'the log file should contain:' do |string|
  step "the file \"#{LOG_FILE_NAME}\" should contain:", string
end

After do
  if @logger
    @logger.close
    @logger = nil
  end
  if @orig_logger
    MessageDriver.logger = @orig_logger
    @orig_logger = nil
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
message-driver-1.0.1 features/step_definitions/logging_steps.rb
message-driver-1.0.0 features/step_definitions/logging_steps.rb
message-driver-0.7.2 features/step_definitions/logging_steps.rb
message-driver-0.7.1 features/step_definitions/logging_steps.rb
message-driver-0.7.0 features/step_definitions/logging_steps.rb