Class: Kitchen::Logger::DeviceFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/kitchen/logger.rb

Overview

Internal factory for building the concrete logger devices.

Instance Method Summary collapse

Instance Method Details

#logdev_logger(filepath_or_logdev, log_overwrite) ⇒ LogdevLogger

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Construct a new logdev logger.

Parameters:

  • filepath_or_logdev (String, IO)

    a filepath String or IO object

  • log_overwrite (Boolean)

    apply log overwriting if filepath_or_logdev is a file path

Returns:



392
393
394
# File 'lib/kitchen/logger.rb', line 392

def logdev_logger(filepath_or_logdev, log_overwrite)
  LogdevLogger.new(resolve_logdev(filepath_or_logdev, log_overwrite))
end

#stdout_logger(stdout, color, colorize) ⇒ StdoutLogger

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Construct a new standard out logger.

Parameters:

  • stdout (IO)

    the IO object that represents stdout (or similar)

  • color (Symbol)

    color to use when outputting messages

  • colorize (Boolean)

    whether to enable color

Returns:



379
380
381
382
383
# File 'lib/kitchen/logger.rb', line 379

def stdout_logger(stdout, color, colorize)
  logger = StdoutLogger.new(stdout)
  logger.formatter = stdout_formatter(color, colorize)
  logger
end

#structured_logdev_logger(filepath_or_logdev, log_overwrite, metadata_provider) ⇒ StructuredLogdevLogger

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Construct a new structured logdev logger.

Parameters:

  • filepath_or_logdev (String, IO)

    a filepath String or IO object

  • log_overwrite (Boolean)

    apply log overwriting if filepath_or_logdev is a file path

  • metadata_provider (Proc)

    callable returning structured metadata

Returns:



404
405
406
407
408
409
# File 'lib/kitchen/logger.rb', line 404

def structured_logdev_logger(filepath_or_logdev, log_overwrite, )
  StructuredLogdevLogger.new(
    resolve_logdev(filepath_or_logdev, log_overwrite),
    
  )
end