Module: Solargraph::Logging

Constant Summary collapse

DEFAULT_LOG_LEVEL =
Logger::WARN
LOG_LEVELS =
{
  'warn' => Logger::WARN,
  'info' => Logger::INFO,
  'debug' => Logger::DEBUG
}.freeze
@@logger =
Logger.new($stderr, level: level)

Class Method Summary collapse

Class Method Details

.log_levelSymbol

override this in your class to temporarily set a custom filtering log level for the class (e.g., suppress any debug message by setting it to :info even if it is set elsewhere, or show existing debug messages by setting to :debug).

Returns:

  • (Symbol)


38
39
40
# File 'lib/solargraph/logging.rb', line 38

def log_level
  :warn
end

.loggerLogger

Returns:

  • (Logger)


43
44
45
46
47
48
49
50
51
52
53
# File 'lib/solargraph/logging.rb', line 43

def logger
  if LOG_LEVELS[log_level.to_s] == DEFAULT_LOG_LEVEL
    @@logger
  else
    new_log_level = LOG_LEVELS[log_level.to_s]
    logger = Logger.new($stderr, level: new_log_level)

    logger.formatter = @@logger.formatter
    logger
  end
end