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