lib/nanoc/cli/logger.rb in nanoc-4.9.0 vs lib/nanoc/cli/logger.rb in nanoc-4.9.1
- old
+ new
@@ -26,10 +26,11 @@
# @return [Symbol] The log level
attr_accessor :level
def initialize
@level = :high
+ @mutex = Mutex.new
end
# Logs a file-related action.
#
# @param [:high, :low] level The importance of this action
@@ -61,13 +62,14 @@
#
# @param [#puts] io The stream to which the message should be written
#
# @return [void]
def log(level, message, io = $stdout)
- # Don't log when logging is disabled
return if @level == :off
+ return if @level != :low && @level != level
- # Log when level permits it
- io.puts(message) if @level == :low || @level == level
+ @mutex.synchronize do
+ io.puts(message)
+ end
end
end
end