Console::Config (original) (raw)
Represents a configuration for the traces library.
Definitions
def self.load(path)
Load the configuration from the given path.
Signature
parameter path
String
The path to the configuration file.
returns [Config](index.html "Console::Config")
The loaded configuration.
Implementation
def self.load(path)
config = self.new
if File.exist?(path)
config.instance_eval(File.read(path), path)
end
return config
end
def self.default
Load the default configuration.
Signature
returns [Config](index.html "Console::Config")
The default configuration.
Implementation
def self.default
@default ||= self.load(PATH)
end
def log_level(env = ENV)
Set the default log level based on $DEBUG
and $VERBOSE
. You can also specify CONSOLE_LEVEL=debug or CONSOLE_LEVEL=info in environment. https://mislav.net/2011/06/ruby-verbose-mode/ has more details about how it all fits together.
Implementation
def log_level(env = ENV)
Logger.default_log_level(env)
end
def verbose?(env = ENV)
Controls verbose output using $VERBOSE
.
Implementation
def verbose?(env = ENV)
!$VERBOSE.nil? || env["CONSOLE_VERBOSE"]
end
def make_output(io = nil, env = ENV, **options)
Create an output with the given output and options.
Signature
parameter output
IO
The output to write log messages to.
parameter env
Hash
The environment to read configuration from.
parameter options
Hash
Additional options to pass to the output.
returns [Output](../Output/index.html "Console::Output")
The created output.
Implementation
def make_output(io = nil, env = ENV, **options)
Output.new(io, env, **options)
end
def make_resolver(logger)
Create a resolver with the given logger.
Signature
parameter logger
[Logger](../Logger/index.html "Console::Logger")
The logger to set the log levels on.
returns Resolver | Nil
The created resolver.
Implementation
def make_resolver(logger)
Resolver.default_resolver(logger)
end
def make_logger(io = $stderr, env = ENV, **options)
Create a logger with the given output and options.
Signature
parameter output
IO
The output to write log messages to.
parameter env
Hash
The environment to read configuration from.
parameter options
Hash
Additional options to pass to the logger.
returns [Logger](../Logger/index.html "Console::Logger")
The created logger.
Implementation
def make_logger(io = $stderr, env = ENV, **options)
if options[:verbose].nil?
options[:verbose] = self.verbose?(env)
end
if options[:level].nil?
options[:level] = self.log_level(env)
end
output = self.make_output(io, env, **options)
logger = Logger.new(output, **options)
make_resolver(logger)
return logger
end
DEFAULT = self.default
Load the default configuration.