Merge pull request #3244 from jekyll/store-messages
This commit is contained in:
commit
7cd5847826
|
@ -1,6 +1,6 @@
|
||||||
module Jekyll
|
module Jekyll
|
||||||
class LogAdapter
|
class LogAdapter
|
||||||
attr_reader :writer
|
attr_reader :writer, :messages
|
||||||
|
|
||||||
LOG_LEVELS = {
|
LOG_LEVELS = {
|
||||||
:debug => ::Logger::DEBUG,
|
:debug => ::Logger::DEBUG,
|
||||||
|
@ -16,6 +16,7 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# Returns nothing
|
# Returns nothing
|
||||||
def initialize(writer, level = :info)
|
def initialize(writer, level = :info)
|
||||||
|
@messages = []
|
||||||
@writer = writer
|
@writer = writer
|
||||||
self.log_level = level
|
self.log_level = level
|
||||||
end
|
end
|
||||||
|
@ -87,7 +88,9 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# Returns the formatted message
|
# Returns the formatted message
|
||||||
def message(topic, message)
|
def message(topic, message)
|
||||||
formatted_topic(topic) + message.to_s.gsub(/\s+/, ' ')
|
msg = formatted_topic(topic) + message.to_s.gsub(/\s+/, ' ')
|
||||||
|
messages << msg
|
||||||
|
msg
|
||||||
end
|
end
|
||||||
|
|
||||||
# Internal: Format the topic
|
# Internal: Format the topic
|
||||||
|
|
|
@ -3,6 +3,11 @@ require 'helper'
|
||||||
class TestLogAdapter < Test::Unit::TestCase
|
class TestLogAdapter < Test::Unit::TestCase
|
||||||
class LoggerDouble
|
class LoggerDouble
|
||||||
attr_accessor :level
|
attr_accessor :level
|
||||||
|
|
||||||
|
def debug(*); end
|
||||||
|
def info(*); end
|
||||||
|
def warn(*); end
|
||||||
|
def error(*); end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "#log_level=" do
|
context "#log_level=" do
|
||||||
|
@ -56,4 +61,20 @@ class TestLogAdapter < Test::Unit::TestCase
|
||||||
assert_raise(SystemExit) { logger.abort_with('topic', 'log message') }
|
assert_raise(SystemExit) { logger.abort_with('topic', 'log message') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "#messages" do
|
||||||
|
should "return an array" do
|
||||||
|
assert_equal [], Jekyll::LogAdapter.new(LoggerDouble.new).messages
|
||||||
|
end
|
||||||
|
|
||||||
|
should "store each log value in the array" do
|
||||||
|
logger = Jekyll::LogAdapter.new(LoggerDouble.new)
|
||||||
|
values = %w{one two three four}
|
||||||
|
logger.debug(values[0])
|
||||||
|
logger.info(values[1])
|
||||||
|
logger.warn(values[2])
|
||||||
|
logger.error(values[3])
|
||||||
|
assert_equal values.map { |value| "#{value} ".rjust(20) }, logger.messages
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue