Is Ruby's stdlib Logger class thread-safe?

A quick look at logger.rb reveals code such as the following:

def write(message)
  @mutex.synchronize do
    if @shift_age and @dev.respond_to?(:stat)
      begin
        check_shift_log
      rescue
        raise Logger::ShiftingError.new("Shifting failed. #{$!}")
      end
    end
    @dev.write(message)
  end
end

So while I can't vouch for whether it gets thread-safety correct, I can confirm that it is making a concerted effort to do it right!

P.S. It's often easy to answer questions like this for yourself by reading the code :-)