class Jekyll::LogAdapter
Constants
- LOG_LEVELS
Attributes
Public Class Methods
Source
# File lib/jekyll/log_adapter.rb, line 20 def initialize(writer, level = :info) @messages = [] @writer = writer self.log_level = level end
Public: Create a new instance of a log writer
writer - Logger compatible instance log_level - (optional, symbol) the log level
Returns nothing
Public Instance Methods
Source
# File lib/jekyll/log_adapter.rb, line 95 def abort_with(topic, message = nil, &block) error(topic, message, &block) abort end
Public: Print an error message and immediately abort the process
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail (can be omitted)
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 38 def adjust_verbosity(options = {}) # Quiet always wins. if options[:quiet] self.log_level = :error elsif options[:verbose] self.log_level = :debug end debug "Logging at level:", LOG_LEVELS.key(writer.level).to_s debug "Jekyll Version:", Jekyll::VERSION end
Source
# File lib/jekyll/log_adapter.rb, line 55 def debug(topic, message = nil, &block) write(:debug, topic, message, &block) end
Public: Print a debug message
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 85 def error(topic, message = nil, &block) write(:error, topic, message, &block) end
Public: Print an error message
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 123 def formatted_topic(topic, colon = false) "#{topic}#{colon ? ": " : " "}".rjust(20) end
Internal: Format the topic
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. colon -
Returns the formatted topic statement
Source
# File lib/jekyll/log_adapter.rb, line 65 def info(topic, message = nil, &block) write(:info, topic, message, &block) end
Public: Print a message
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 31 def log_level=(level) writer.level = level if level.is_a?(Integer) && level.between?(0, 3) writer.level = LOG_LEVELS[level] || raise(ArgumentError, "unknown log level") @level = level end
Public: Set the log level on the writer
level - (symbol) the log level
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 106 def message(topic, message = nil) raise ArgumentError, "block or message, not both" if block_given? && message message = yield if block_given? message = message.to_s.gsub(%r!\s+!, " ") topic = formatted_topic(topic, block_given?) out = topic + message messages << out out end
Internal: Build a topic method
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail
Returns the formatted message
Source
# File lib/jekyll/log_adapter.rb, line 75 def warn(topic, message = nil, &block) write(:warn, topic, message, &block) end
Public: Print a message
topic - the topic of the message, e.g. “Configuration file”, “Deprecation”, etc. message - the message detail
Returns nothing
Source
# File lib/jekyll/log_adapter.rb, line 145 def write(level_of_message, topic, message = nil, &block) return false unless write_message?(level_of_message) writer.public_send(level_of_message, message(topic, message, &block)) end
Internal: Log a message.
level_of_message - the Symbol level of message, one of :debug, :info, :warn, :error topic - the String topic or full message message - the String message (optional) block - a block containing the message (optional)
Returns false if the message was not written, otherwise returns the value of calling the appropriate writer method, e.g. writer.info.
Source
# File lib/jekyll/log_adapter.rb, line 132 def write_message?(level_of_message) LOG_LEVELS.fetch(level) <= LOG_LEVELS.fetch(level_of_message) end
Internal: Check if the message should be written given the log level.
level_of_message - the Symbol level of message, one of :debug, :info, :warn, :error
Returns whether the message should be written.